Part Number Hot Search : 
CJ78M09 15KP10 2SB547A 48D05 NB40L IRFZ46 SK2628 2N540
Product Description
Full Text Search
 

To Download AT32UC3B1128 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  features ? high performance, low power avr ? 32 uc 32-bit microcontroller ? compact single-cycle risc instruction set including dsp instruction set ? read-modify-write instructions and atomic bit manipulation ? performing up to 1.39 dmips / mhz ? up to 83 dmips running at 60 mhz from flash ? up to 46 dmips running at 30 mhz from flash ? memory protection unit ? multi-hierarchy bus system ? high-performance data transfers on separate buses for increased performance ? 7 peripheral dma channels improves speed for peripheral communication ? internal high-speed flash ? 512k bytes, 256k bytes, 128k bytes, 64k bytes versions ? single cycle access up to 30 mhz ? prefetch buffer optimizing instru ction execution at maximum speed ? 4ms page programming time and 8ms full-chip erase time ? 100,000 write cycles, 15-year data retention capability ? flash security locks and us er defined configuration area ? internal high-speed sram, si ngle-cycle access at full speed ? 96k bytes (512kb flash), 32k bytes (256kb and 128kb flash), 16k bytes (64kb flash) ? interrupt controller ? autovectored low latency interrupt service with programmable priority ? system functions ? power and clock manager including inte rnal rc clock and one 32khz oscillator ? two multipurpose oscillators and tw o phase-lock-loop (pll) allowing independant cpu frequency from usb frequency ? watchdog timer, real-time clock timer ? universal serial bus (usb) ? device 2.0 and embedded host low speed and full speed ? flexible end-point configuration and management with dedicated dma channels ? on-chip transceivers including pull-ups ? usb wake up from sleep functionality ? one three-channel 16-b it timer/counter (tc) ? three external clock inputs, pwm, capture and various counting capabilities ? one 7-channel 20-bit pulse width modulation controller (pwm) ? three universal synchronous/asynchrono us receiver/transmitters (usart) ? independant baudrate generator, suppo rt for spi, irda and iso7816 interfaces ? support for hardware handshaki ng, rs485 interfaces and modem line ? one master/slave serial peripheral inte rfaces (spi) with ch ip select signals ? one synchronous serial protocol controller ? supports i 2 s and generic frame-based protocols ? one master/slave two-wire in terface (twi), 400kbit/s i 2 c-compatible ? one 8-channel 10-bit analog-t o-digital converter, 384ks/s ? 16-bit stereo audio bitstream dac ? sample rate up to 50 khz ? qtouch ? library support ? capacitive touch buttons , sliders, and wheels ?qtouch ? and qmatrix ? acquisition 32059k?03/2011 32-bit avr ? microcontroller at32uc3b0512 at32uc3b0256 at32uc3b0128 at32uc3b064 at32uc3b1512 at32uc3b1256 AT32UC3B1128 at32uc3b164 summary
2 32059k?03/2011 at32uc3b ? on-chip debug system (jtag interface) ? nexus class 2+, runtime control, non-intrusive data and program trace ? 64-pin tqfp/qfn (44 gpio pins), 48-pin tqfp/qfn (28 gpio pins) ? 5v input tolerant i/os, including 4 high-drive pins ? single 3.3v power supply or dual 1.8v-3.3v power supply
3 32059k?03/2011 at32uc3b 1. description the at32uc3b is a complete system-on-chip microcontroller based on the avr32 uc risc processor running at frequencies up to 60 mhz. avr32 uc is a high-performance 32-bit risc microprocessor core, designed for cost-sensitive embedded applications, with particular empha- sis on low power consumption, high code density and high performance. the processor implements a memory protection unit (mpu) and a fast and flexible interrupt con- troller for supporting modern operating systems and re al-time operating systems. higher computation capability is achieved using a rich set of dsp instructions. the at32uc3b incorporates on-chip flash and sram memories for secure and fast access. the peripheral direct memory access controller enables data transfers between peripherals and memories without processor involvement. pdca drastically reduces processing overhead when transferring continuous and large data streams between modules within the mcu. the power manager improves design flexibility and security: the on-chip brown-out detector monitors the power supply, the cpu runs from t he on-chip rc oscillator or from one of external oscillator sources, a real-time clock and its associated timer keeps track of the time. the timer/counter includes three identical 16- bit timer/counter channels. each channel can be independently programmed to perform frequency measurement, event counting, interval mea- surement, pulse generation, delay timing and pulse width modulation. the pwm modules provides seven independent channels with many configuration options including polarity, edge alignment and waveform non overlap control. one pwm channel can trigger adc conversions for more accurate close loop control implementations. the at32uc3b also features many communication interfaces for communication intensive applications. in addition to standard serial in terfaces like usart, spi or twi, other interfaces like flexible synchronous serial controller and usb are available. the usart supports different communication modes, like spi mode. the synchronous serial controller provides easy access to serial communication protocols and audio standards like i 2 s, uart or spi. the full-speed usb 2.0 device interface supports several usb classes at the same time thanks to the rich end-point configuration. the embedded host interface allows device like a usb flash disk or a usb printer to be directly connected to the processor. atmel offers the qtouch library for embedding capacitive touch buttons, sliders, and wheels functionality into avr microcontrollers. the patented charge-transfer signal acquisition offers robust sensing and included fully debounced reporting of touch keys and includes adjacent key suppression ? (aks ? ) technology for unambiguous detection of key events. the easy-to-use qtouch suite toolchain allows you to explore, develop, and debug your own touch applications. at32uc3b integrates a class 2+ nexus 2.0 on-chip debug (ocd) system, with non-intrusive real-time trace, full-speed read/write memory access in addition to basic runtime control. the nanotrace interface enables trace feature for jtag-based debuggers.
4 32059k?03/2011 at32uc3b 2. overview 2.1 blockdiagram figure 2-1. block diagram timer/counter interrupt controller real time counter peripheral dma controller hsb-pb bridge b hsb-pb bridge a s mm m s s m external interrupt controller high speed bus matrix general purpose ios general purpose ios pa pb a[2..0] b[2..0] clk[2..0] extint[7..0] kps[7..0] nmi gclk[3..0] xin32 xout32 xin0 xout0 p a p b reset_n 32 khz osc 115 khz rcosc osc0 pll0 serial peripheral interface two-wire interface pdc pdc miso, mosi npcs[3..0] scl sda usart1 pdc rxd txd clk rts, cts dsr, dtr, dcd, ri usart0 usart2 pdc rxd txd clk rts, cts synchronous serial controller pdc tx_clock, tx_frame_sync rx_data tx_data rx_clock, rx_frame_sync analog to digital converter pdc ad[7..0] advref watchdog timer xin1 xout1 osc1 pll1 sck jtag interface mcko mdo[5..0] mseo[1..0] evti_n tck tdo tdi tms power manager reset controller sleep controller clock controller clock generator configuration registers bus pb pb hsb hsb s flash controller m s usb interface dma id vbof vbus d- d+ evto_n avr32 uc cpu nexus class 2+ ocd instr interface data interface memory interface fast gpio 16/32/96 kb sram memory protection unit local bus interface audio bitstream dac pdc data[1..0] datan[1..0] pulse width modulation controller pwm[6..0] 64/128/ 256/512 kb flash
5 32059k?03/2011 at32uc3b 3. configuration summary the table below lists all at32uc3b memory and package configurations: table 3-1. configuration summary feature at32uc3b0512 at32uc3b0256/128/64 at32uc3b1512 at32uc3b1256/128/64 flash 512 kb 256/128/64 kb 512 kb 256/128/64 kb sram 96kb 32/32/16kb 96kb 32/16/16kb gpio 44 28 external interrupts 8 6 twi 1 usart 3 peripheral dma channels 7 spi 1 full speed usb mini-host + device device ssc 1 0 audio bitstream dac 1 0 1 0 timer/counter channels 3 pwm channels 7 watchdog timer 1 real-time clock timer 1 power manager 1 oscillators pll 80-240 mhz (pll0/pll1) crystal oscillators 0.4-20 mhz (osc0) crystal oscillator 32 khz (osc32k) rc oscillator 115 khz (rcsys) crystal oscillators 0.4-20 mhz (osc1) 10-bit adc number of channels 86 jtag 1 max frequency 60 mhz package tqfp64, qfn64 tqfp48, qfn48
6 32059k?03/2011 at32uc3b 4. package and pinout 4.1 package the device pins are multiplexed with peripheral fu nctions as described in the peripheral multi- plexing on i/o line section. figure 4-1. tqfp64 / qfn64 pinout gnd 1 tck 2 pa00 3 pa01 4 pa02 5 pb00 6 pb01 7 vddcore 8 pa03 9 pa04 10 pa05 11 pa06 12 pa07 13 pa08 14 pa30 15 pa31 16 gndana 17 advref 18 vddana 19 vddout 20 vddin 21 vddcore 22 gnd 23 pb02 24 pb03 25 pb04 26 pb05 27 pa09 28 pa10 29 pa11 30 pa12 31 vddio 32 vddio 48 pa23 47 pa22 46 pa21 45 pa20 44 pb07 43 pa29 42 pa28 41 pa19 40 pa18 39 pb06 38 pa17 37 pa16 36 pa15 35 pa14 34 pa13 33 gnd 49 dp 50 dm 51 vbus 52 vddpll 53 pb08 54 pb09 55 vddcore 56 pb10 57 pb11 58 pa24 59 pa25 60 pa26 61 pa27 62 reset_n 63 vddio 64
7 32059k?03/2011 at32uc3b figure 4-2. tqfp48 / qfn48 pinout note: on qfn packages, the exposed pad is not connected to anything. 4.2 peripheral multiplexing on i/o lines 4.2.1 multiplexed signals each gpio line can be assigned to one of 4 peripheral functions; a, b, c or d (d is only avail- able for uc3bx512 parts). the following table define how the i/o lines on the peripherals a, b,c or d are multiplexed by the gpio. gnd 1 tck 2 pa00 3 pa01 4 pa02 5 vddcore 6 pa03 7 pa04 8 pa05 9 pa06 10 pa07 11 pa08 12 gndana 13 advref 14 vddana 15 vddout 16 vddin 17 vddcore 18 gnd 19 pa09 20 pa10 21 pa11 22 pa12 23 vddio 24 vddio 36 pa23 35 pa22 34 pa21 33 pa20 32 pa19 31 pa18 30 pa17 29 pa16 28 pa15 27 pa14 26 pa13 25 gnd 37 dp 38 dm 39 vbus 40 vddpll 41 vddcore 42 pa24 43 pa25 44 pa26 45 pa27 46 reset_n 47 vddio 48 table 4-1. gpio controller func tion multiplexing 48-pin 64-pin pin gpio pin function a function b function c function d (only for uc3bx512) 3 3 pa00 gpio 0 4 4 pa01 gpio 1 5 5 pa02 gpio 2 7 9 pa03 gpio 3 adc - ad[0] pm - gclk[0] usbb - usb_id abdac - data[0] 8 10 pa04 gpio 4 adc - ad[1] pm - gclk[1] usbb - usb_vbof abdac - datan[0] 9 11 pa05 gpio 5 eic - extint[0] adc - ad[2] usart1 - dcd abdac - data[1] 10 12 pa06 gpio 6 eic - extint[1] adc - ad[3] usart1 - dsr abdac - datan[1]
8 32059k?03/2011 at32uc3b 11 13 pa07 gpio 7 pwm - pwm[0] adc - ad[4] usart1 - dtr ssc - rx_frame_sync 12 14 pa08 gpio 8 pwm - pwm[1] adc - ad[5] usart1 - ri ssc - rx_clock 20 28 pa09 gpio 9 twi - scl spi0 - npcs[2] usart1 - cts 21 29 pa10 gpio 10 twi - sda spi0 - npcs[3] usart1 - rts 22 30 pa11 gpio 11 usart0 - rts tc - a2 pwm - pwm[0] ssc - rx_data 23 31 pa12 gpio 12 usart0 - cts tc - b2 pwm - pwm[1] usart1 - txd 25 33 pa13 gpio 13 eic - nmi pwm - pwm[2] usart0 - clk ssc - rx_clock 26 34 pa14 gpio 14 spi0 - mosi pwm - pwm[3] eic - extint[2] pm - gclk[2] 27 35 pa15 gpio 15 spi0 - sck pwm - pwm[4] usart2 - clk 28 36 pa16 gpio 16 spi0 - npcs[0] tc - clk1 pwm - pwm[4] 29 37 pa17 gpio 17 spi0 - npcs[1] tc - clk2 spi0 - sck usart1 - rxd 30 39 pa18 gpio 18 usart0 - rxd pwm - pwm[5] spi0 - miso ssc - rx_frame_sync 31 40 pa19 gpio 19 usart0 - txd pwm - pwm[6] spi0 - mosi ssc - tx_clock 32 44 pa20 gpio 20 usart1 - clk tc - clk0 usart2 - rxd ssc - tx_data 33 45 pa21 gpio 21 pwm - pwm[2] tc - a1 usart2 - txd ssc - tx_frame_sync 34 46 pa22 gpio 22 pwm - pwm[6] tc - b1 adc - trigger abdac - data[0] 35 47 pa23 gpio 23 usart1 - txd spi0 - npcs[1] eic - extint[3] pwm - pwm[0] 43 59 pa24 gpio 24 usart1 - rxd spi0 - npcs[0] eic - extint[4] pwm - pwm[1] 44 60 pa25 gpio 25 spi0 - miso pwm - pwm[3] eic - extint[5] 45 61 pa26 gpio 26 usbb - usb_id usart2 - txd tc - a0 abdac - data[1] 46 62 pa27 gpio 27 usbb - usb_vbof usart2 - rxd tc - b0 abdac - datan[1] 41 pa28 gpio 28 usart0 - clk pwm - pwm[4] spi0 - miso abdac - datan[0] 42 pa29 gpio 29 tc - clk0 tc - clk1 spi0 - mosi 15 pa30 gpio 30 adc - ad[6] eic - scan[0] pm - gclk[2] 16 pa31 gpio 31 adc - ad[7] eic - scan[1] pwm - pwm[6] 6 pb00 gpio 32 tc - a0 eic - scan[2] usart2 - cts 7 pb01 gpio 33 tc - b0 eic - scan[3] usart2 - rts 24 pb02 gpio 34 eic - extint[6] tc - a1 usart1 - txd 25 pb03 gpio 35 eic - extint[7] tc - b1 usart1 - rxd 26 pb04 gpio 36 usart1 - cts spi0 - npcs[3] tc - clk2 27 pb05 gpio 37 usart1 - rts spi0 - npcs[2] pwm - pwm[5] 38 pb06 gpio 38 ssc - rx_clock usart1 - dcd eic - scan[4] abdac - data[0] 43 pb07 gpio 39 ssc - rx_data usart1 - dsr eic - scan[5] abdac - datan[0] 54 pb08 gpio 40 ssc - rx_frame_sync usart1 - dtr eic - scan[6] abdac - data[1] table 4-1. gpio controller func tion multiplexing
9 32059k?03/2011 at32uc3b 4.2.2 jtag port connections if the jtag is enabled, the jtag will take control over a number of pins, irre spective of the i/o controller configuration. 4.2.3 nexus ocd aux port connections if the ocd trace system is enabled, the trace system will take control over a number of pins, irre- spectively of the pio configuration. two different ocd trace pi n mappings are possible, depending on the configuratio n of the ocd axs register. for details, see the avr32 uc tech- nical reference manual . 4.2.4 oscillator pinout the oscillators are not mapped to the normal a, b or c functions and their muxings are con- trolled by registers in the power manager (pm). please refer to the power manager chapter for more information about this. 55 pb09 gpio 41 ssc - tx_clock usart1 - ri eic - scan[7] abdac - datan[1] 57 pb10 gpio 42 ssc - tx_data tc - a2 usart0 - rxd 58 pb11 gpio 43 ssc - tx_frame_sync tc - b2 usart0 - txd table 4-1. gpio controller func tion multiplexing table 4-2. jtag pinout 64qfp/qfn 48qfp/qfn pin name jtag pin 22tcktck 33pa00tdi 44pa01tdo 55pa02tms table 4-3. nexus ocd aux port connections pin axs=0 axs=1 evti_n pb05 pa14 mdo[5] pb04 pa08 mdo[4] pb03 pa07 mdo[3] pb02 pa06 mdo[2] pb01 pa05 mdo[1] pb00 pa04 mdo[0] pa31 pa03 evto_n pa15 pa15 m c ko pa 3 0 pa 1 3 mseo[1] pb06 pa09 mseo[0] pb07 pa10
10 32059k?03/2011 at32uc3b 4.3 high drive current gpio ones of gpios can be used to drive twice cu rrent than other gpio capability (see electrical characteristics section). 5. signals description the following table gives details on the signal name classified by peripheral. table 4-4. oscillator pinout qfp48 pin qfp64 pin pad oscillator pin 30 39 pa18 xin0 41 pa28 xin1 22 30 pa11 xin32 31 40 pa19 xout0 42 pa29 xout1 23 31 pa12 xout32 table 4-5. high drive current gpio gpio name pa 2 0 pa 2 1 pa 2 2 pa 2 3 table 5-1. signal description list signal name function type active level comments power vddpll pll power supply power input 1.65v to 1.95 v vddcore core power supply power input 1.65v to 1.95 v vddio i/o power supply power input 3.0v to 3.6v vddana analog power supply power input 3.0v to 3.6v vddin voltage regulator input supply power input 3.0v to 3.6v
11 32059k?03/2011 at32uc3b vddout voltage regulator output power output 1.65v to 1.95 v gndana analog ground ground gnd ground ground clocks, oscillators, and pll?s xin0, xin1, xin32 crystal 0, 1, 32 input analog xout0, xout1, xout32 crystal 0, 1, 32 output analog jtag tck test clock input tdi test data in input tdo test data out output tms test mode select input auxiliary port - aux mcko trace data output clock output mdo0 - mdo5 trace data output output mseo0 - mseo1 trace frame control output evti_n event in output low evto_n event out output low power manager - pm gclk0 - gclk2 generic clock pins output reset_n reset pin input low external interrup t controller - eic extint0 - extint7 external interrupt pins input kps0 - kps7 keypad scan pins output nmi non-maskable interrupt pin input low general purpose i/o pin- gpioa, gpiob pa0 - pa31 parallel i/o controller gpioa i/o pb0 - pb11 parallel i/o controller gpiob i/o table 5-1. signal description list (continued) signal name function type active level comments
12 32059k?03/2011 at32uc3b serial peripheral interface - spi0 miso master in slave out i/o mosi master out slave in i/o npcs0 - npcs3 spi peripheral chip select i/o low sck clock output synchronous serial controller - ssc rx_clock ssc receive clock i/o rx_data ssc receive data input rx_frame_sync ssc receive frame sync i/o tx_clock ssc transmit clock i/o tx_data ssc transmit data output tx_frame_sync ssc transmit frame sync i/o timer/counter - timer a0 channel 0 line a i/o a1 channel 1 line a i/o a2 channel 2 line a i/o b0 channel 0 line b i/o b1 channel 1 line b i/o b2 channel 2 line b i/o clk0 channel 0 external clock input input clk1 channel 1 external clock input input clk2 channel 2 external clock input input two-wire interface - twi scl serial clock i/o sda serial data i/o universal synchronous asynchronous receiv er transmitter - usart0, usart1, usart2 clk clock i/o cts clear to send input table 5-1. signal description list (continued) signal name function type active level comments
13 32059k?03/2011 at32uc3b 5.1 jtag pins tms and tdi pins have pull-up resistors. tdo pin is an output, driven at up to vddio, and has no pull-up resistor. these 3 pins can be used as gpio-pins. at re set state, these pins are in gpio mode. tck pin cannot be used as gpio pin. jtag in terface is enabled when tck pin is tied low. dcd data carrier detect only usart1 dsr data set ready only usart1 dtr data terminal ready only usart1 ri ring indicator only usart1 rts request to send output rxd receive data input txd transmit data output analog to digital converter - adc ad0 - ad7 analog input pins analog input advref analog positive reference voltage input analog input 2.6 to 3.6v audio bitstream dac - abdac data0 - data1 d/a data out output datan0 - datan1 d/a data inverted out output pulse width modulator - pwm pwm0 - pwm6 pwm output pins output universal serial bus device - usbb ddm usb device port data - analog ddp usb device port data + analog vbus usb vbus monitor and embedded host negociation analog input usbid id pin of the usb bus input usb_vbof usb vbus on/off: bu s power control port output table 5-1. signal description list (continued) signal name function type active level comments
14 32059k?03/2011 at32uc3b 5.2 reset_n pin the reset_n pin is a schmitt input and integrates a permanent pull-up resistor to vddio. as the product integrat es a power-on reset cell, the reset_n pin can be left unconnected in case no reset from the system needs to be applied to the product. 5.3 twi pins when these pins are used for twi, the pins are open-drain outputs with slew-rate limitation and inputs with inputs with spike-filtering. when used as gpio-pins or used for other peripherals, the pins have the same charac teristics as gpio pins. 5.4 gpio pins all the i/o lines integrate a pull-up resistor . programming of this pull-up resistor is performed independently for each i/o line through the gpio controllers. after reset, i/o lines default as inputs with pull-up resistors disabled, except when indicated otherwise in the column ?reset value? of the gpio controller user interface table. 5.5 high drive pins the four pins pa20, pa21, pa22, pa23 have high drive output capabilities. 5.6 power considerations 5.6.1 power supplies the at32uc3b has several types of power supply pins: ? vddio: powers i/o lines. voltage is 3.3v nominal. ? vddana: powers the adc voltage is 3.3v nominal. ? vddin: input voltage for the voltage regulator. voltage is 3.3v nominal. ? vddcore: powers the core, me mories, and peripherals. voltage is 1.8v nominal. ? vddpll: powers the pll. voltage is 1.8v nominal. the ground pins gnd are common to vddcore, vddio and vddpll. the ground pin for vddana is gndana. for qfn packages, the center pad must be left unconnected. refer to ?electrical characteristics? on page 35 for power consumption on the various supply pins. the main requirement for power supplies connection is to respect a star topology for all electrical connection.
15 32059k?03/2011 at32uc3b figure 5-1. power supply 5.6.2 voltage regulator 5.6.2.1 single power supply the at32uc3b embeds a voltage regulator that converts from 3.3v to 1.8v. the regulator takes its input voltage from vddin, and supplies the output voltage on vddout that should be exter- nally connected to the 1.8v domains. adequate input supply decouplin g is mandatory for vddin in or der to improve startup stability and reduce source voltage drop. two input decoup ling capacitors must be placed close to the chip. adequate output supply decoupling is mandator y for vddout to reduce ripple and avoid oscil- lations. the best way to achieve this is to use two capacitors in parallel between vddout and gnd as close to the chip as possible figure 5-2. supply decoupling 3.3v vddana vddio vddin vddcore vddout vddpll advref 3.3v 1.8 v vddana vddio vddin vddcore vddout vddpll advref single power supply dual power supply 1.8v regulator 1.8v regulator 3.3v 1.8v vddin vddout 1.8v regulator c in1 c out1 c out2 c in2
16 32059k?03/2011 at32uc3b refer to section 9.3 on page 38 for decoupling capacitors values and regulator characteristics. for decoupling recommendations for vddio, vd dana, vddcore and vd dpll, please refer to the schematic checklist. 5.6.2.2 dual power supply in case of dual power supply, vddin and vddout should be connected to ground to prevent from leakage current. to avoid over consumption during the power up sequence, vddio and vddcore voltage dif- ference needs to stay in the range given figure 5-3 . figure 5-3. vddio versus vddcore during power up sequence 5.6.3 analog-to-digital converter (adc) reference. the adc reference (advref) must be provi ded from an external source. two decoupling capacitors must be used to insure proper decoupling. figure 5-4. advref decoupling refer to section 9.4 on page 38 for decoupling capacitors values and electrical characteristics. in case adc is not used, the advref pin s hould be connected to gnd to avoid extra consumption. extra consumption on vddcore vddcore (v) extra consumption on vddio vddio (v) 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.5 1.5 1 2 2.5 3 3.5 4 advref c c vref1 vref2 3.3v
17 32059k?03/2011 at32uc3b 6. processor and architecture rev: 1.0.0.0 this chapter gives an overview of the avr32uc cpu. avr32uc is an implementation of the avr32 architecture. a summary of the programming model, instruction set, and mpu is pre- sented. for further details, see the avr32 architecture manual and the avr32uc technical reference manual . 6.1 features ? 32-bit load/store avr32a risc architecture ? 15 general-purpose 32-bit registers ? 32-bit stack pointer, program counter and link register reside in register file ? fully orthogonal instruction set ? privileged and unprivileged modes enabling efficient and secure operating systems ? innovative instruction set together with variable instruction length ensu ring industry leading code density ? dsp extention with saturating arithmetic, and a wide vari ety of multiply instructions ? 3-stage pipeline allows one instructio n per clock cycle for most instructions ? byte, halfword, word and double word memory access ? multiple interrupt priority levels ? mpu allows for operating s ystems with memory protection 6.2 avr32 architecture avr32 is a high-performance 32-bit risc microprocessor architecture, designed for cost-sensi- tive embedded applications, with particular emphasis on low power consumption and high code density. in addition, the instruction set architecture has been tuned to allow a variety of micro- architectures, enabling the avr32 to be implemented as low-, mid-, or high-performance processors. avr32 extends the avr family into the world of 32- and 64-bit applications. through a quantitative approach, a large set of industry recognized benchmarks has been com- piled and analyzed to achieve the best code density in its class. in addition to lowering the memory requirements, a compact code size also contributes to the core?s low power characteris- tics. the processor supports byte and halfword data types without penalty in code size and performance. memory load and store operations are provided for byte, halfword, word, and double word data with automatic sign- or zero extension of halfw ord and byte data. the c-compiler is closely linked to the architecture and is able to expl oit code optimization features, both for size and speed. in order to reduce code size to a minimum, so me instructions have multiple addressing modes. as an example, instructions with immediates often have a compact format with a smaller imme- diate, and an extended format with a larger immediate. in this way, the compiler is able to use the format giving the smallest code size. another feature of the instruction set is that frequently used instructions, like add, have a com- pact format with two operands as well as an extended format with three operands. the larger format increases performance, allowing an addition and a data move in the same instruction in a single cycle. load and store instructions have seve ral different formats in order to reduce code size and speed up execution.
18 32059k?03/2011 at32uc3b the register file is organized as sixteen 32-bi t registers and includes the program counter, the link register, and the stack pointer. in addition, register r12 is designed to hold return values from function calls and is used im plicitly by some instructions. 6.3 the avr32uc cpu the avr32uc cpu targets low- and mediu m-performance applications, and provides an advanced ocd system, no caches, and a memory protection unit (mpu). java acceleration hardware is not implemented. avr32uc provides three memory interfaces, one high speed bus master for instruction fetch, one high speed bus master for data access, an d one high speed bus slave interface allowing other bus masters to access data rams internal to the cpu. keeping data rams internal to the cpu allows fast access to the rams, reduces latency, and guarantees deterministic timing. also, power consumption is reduced by not needing a full high speed bus access for memory accesses. a dedicated data ram interface is prov ided for communicating with the internal data rams. a local bus interface is provided for connecting the cpu to device-specific high-speed systems, such as floating-point units and fast gpio ports. this local bus has to be enabled by writing the locen bit in the cpucr system re gister. the local bus is able to transfe r data between the cpu and the local bus slave in a single clock cycle. the local bus has a dedicated memory range allocated to it, and data transfers are performed using regular load and store instructions. details on which devices that are mapped into the local bus space is given in the memories chapter of this data sheet. figure 6-1 on page 19 displays the contents of avr32uc.
19 32059k?03/2011 at32uc3b figure 6-1. overview of the avr32uc cpu 6.3.1 pipeline overview avr32uc has three pipeline stages, instruction fetch (if), instruction decode (id), and instruc- tion execute (ex). the ex stage is split into three parallel subsections, one arithmetic/logic (alu) section, one multiply (mul) sect ion, and one load/store (ls) section. instructions are issued and complete in order. certain operations require several clock cycles to complete, and in this case, the instruction resides in the id and ex stages for the required num- ber of clock cycles. since there is only three pipeline stages, no inte rnal data forwarding is required, and no data dependencies can arise in the pipeline. figure 6-2 on page 20 shows an overview of the avr32uc pipeline stages. avr32uc cpu pipeline instruction memory controller high speed bus master mpu high speed bus high speed bus ocd system ocd interface interrupt controller interface high speed bus slave high speed bus data ram interface high speed bus master power/ reset control reset interface cpu local bus master cpu local bus data memory controller
20 32059k?03/2011 at32uc3b figure 6-2. the avr32uc pipeline 6.3.2 avr32a microarchitecture compliance avr32uc implements an avr32a microarchitecture. the avr32a microarchitecture is tar- geted at cost-sensitive, lower-end applications like smaller microcontrollers. this microarchitecture does not provide dedicated hard ware registers for shadowing of register file registers in interrupt contexts. additionally, it does not provide hardware registers for the return address registers and return status registers. instead, all this information is stored on the system stack. this saves chip area at the expense of slower interrupt handling. upon interrupt initiation, registers r8-r12 are automatically pushed to the system stack. these registers are pushed regardless of the priority level of the pending interrupt. the return address and status register are also automatically pushed to stack. the interrupt handler can therefore use r8-r12 freely. upon interrupt completion, the old r8-r12 registers and status register are restored, and execution continues at the return address stored popped from stack. the stack is also used to store the status register and return address for exceptions and scall . executing the rete or rets instruction at the completion of an exception or system call will pop this status register and continue execution at the popped return address. 6.3.3 java support avr32uc does not provide java hardware acceleration. 6.3.4 memory protection the mpu allows the user to check all memory accesses for privilege violations. if an access is attempted to an illegal memory address, the access is aborted and an exception is taken. the mpu in avr32uc is specified in t he avr32uc technical reference manual. 6.3.5 unaligned reference handling avr32uc does not support unaligned accesses, except for doubleword accesses. avr32uc is able to perform word-aligned st.d and ld.d . any other unaligned memory access will cause an address exception. doubleword -sized accesses with word-align ed pointers will automatically be performed as two word-sized accesses. if id alu mul regfile write prefetch unit decode unit alu unit multiply unit load-store unit ls regfile read
21 32059k?03/2011 at32uc3b the following table shows the instructions with support for unaligned addresses. all other instructions requir e aligned addresses. 6.3.6 unimplemented instructions the following instructions are unimplemented in avr32uc, and will cause an unimplemented instruction exception if executed: ? all simd instructions ? all coprocessor instructions if no coprocessors are present ? retj, incjosp, popjc, pushjc ? tlbr, tlbs, tlbw ? cache 6.3.7 cpu and architecture revision three major revisions of the avr32uc cpu currently exist. the architecture revision field in the config0 system register identifies which architecture revision is implemented in a specific device. avr32uc cpu revision 3 is fully backward-compatibl e with revisions 1 and 2, ie. code compiled for revision 1 or 2 is binary-compatible with revision 3 cpus. table 6-1. instructions with una ligned reference support instruction supported alignment ld.d word st.d word
22 32059k?03/2011 at32uc3b 6.4 programming model 6.4.1 register file configuration the avr32uc register file is shown below. figure 6-3. the avr32uc register file 6.4.2 status register configuration the status register (sr) is split into two halfwords, one upper and one lower, see figure 6-4 on page 22 and figure 6-5 on page 23 . the lower word contains the c, z, n, v, and q condition code flags and the r, t, and l bits, while the upper halfword contains information about the mode and state the processor executes in. refer to the avr32 architecture manual for details. figure 6-4. the status register high halfword application bit 0 supervisor bit 31 pc sr int0pc fintpc int1pc smpc r7 r5 r6 r4 r3 r1 r2 r0 bit 0 bit 31 pc sr r12 int0pc fintpc int1pc smpc r7 r5 r6 r4 r11 r9 r10 r8 r3 r1 r2 r0 int0 sp_app sp_sys r12 r11 r9 r10 r8 exception nmi int1 int2 int3 lr lr bit 0 bit 31 pc sr r12 int0pc fintpc int1pc smpc r7 r5 r6 r4 r11 r9 r10 r8 r3 r1 r2 r0 sp_sys lr bit 0 bit 31 pc sr r12 int0pc fintpc int1pc smpc r7 r5 r6 r4 r11 r9 r10 r8 r3 r1 r2 r0 sp_sys lr bit 0 bit 31 pc sr r12 int0pc fintpc int1pc smpc r7 r5 r6 r4 r11 r9 r10 r8 r3 r1 r2 r0 sp_sys lr bit 0 bit 31 pc sr r12 int0pc fintpc int1pc smpc r7 r5 r6 r4 r11 r9 r10 r8 r3 r1 r2 r0 sp_sys lr bit 0 bit 31 pc sr r12 int0pc fintpc int1pc smpc r7 r5 r6 r4 r11 r9 r10 r8 r3 r1 r2 r0 sp_sys lr bit 0 bit 31 pc sr r12 int0pc fintpc int1pc smpc r7 r5 r6 r4 r11 r9 r10 r8 r3 r1 r2 r0 sp_sys lr secure bit 0 bit 31 pc sr r12 int0pc fintpc int1pc smpc r7 r5 r6 r4 r11 r9 r10 r8 r3 r1 r2 r0 sp_sec lr ss_status ss_adrf ss_adrr ss_adr0 ss_adr1 ss_sp_sys ss_sp_app ss_rar ss_rsr bit 31 0 0 0 bit 16 interrupt level 0 mask interrupt level 1 mask interrupt level 3 mask interrupt level 2 mask 1 0 0 0 0 1 1 0 0 0 0 0 0 fe i0m gm m1 - d m0 em i2m dm - m2 lc 1 initial value bit name i1m mode bit 0 mode bit 1 - mode bit 2 reserved debug state - i3m reserved exception mask global interrupt mask debug state mask -
23 32059k?03/2011 at32uc3b figure 6-5. the status register low halfword 6.4.3 processor states 6.4.3.1 normal risc state the avr32 processor supports several diff erent execution contexts as shown in table 6-2 on page 23 . mode changes can be made under software control, or can be caused by external interrupts or exception processing. a mode can be interrupted by a higher priority mode, but never by one with lower priority. nested exceptions can be supported with a minimal software overhead. when running an operating system on the avr32, user processes will typically execute in the application mode. the programs executed in this mode are restricted from executing certain instructions. furthermore, most system registers together with the upper halfword of the status register cannot be accessed. protected memory areas are also not available. all other operating modes are privileged and are collectively called system modes. they have full access to all priv- ileged and unprivileged re sources. after a reset, the proc essor will be in su pervisor mode. 6.4.3.2 debug state the avr32 can be set in a debug state, which allows implementation of software monitor rou- tines that can read out and alter system information for use during application development. this implies that all system and application regist ers, including the status registers and program counters, are accessible in debug state. th e privileged instructions are also available. bit 15 bit 0 reserved carry zero sign 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - - - t - bit name initial value 0 0 l q v n z c - overflow saturation - - - lock reserved scratch table 6-2. overview of execution modes, thei r priorities and privilege levels. priority mode securi ty description 1 non maskable interrupt privileged non maskable high priority interrupt mode 2 exception privileged execute exceptions 3 interrupt 3 privileged general purpose interrupt mode 4 interrupt 2 privileged general purpose interrupt mode 5 interrupt 1 privileged general purpose interrupt mode 6 interrupt 0 privileged general purpose interrupt mode n/a supervisor privileged runs supervisor calls n/a application unprivileged normal program execution mode
24 32059k?03/2011 at32uc3b all interrupt levels are by default disabled when debug state is entered, but they can individually be switched on by the monitor routine by clearing the respective mask bit in the status register. debug state can be entered as described in the avr32uc technical reference manual . debug state is exited by the retd instruction. 6.4.4 system registers the system registers are placed outside of the virtual memory space, and are only accessible using the privileged mfsr and mtsr instructions. the table below lis ts the system registers speci- fied in the avr32 architecture, some of which are unused in avr32uc. the programmer is responsible for maintaining correct sequen cing of any instructions following a mtsr instruction. for detail on the system registers, refer to the avr32uc technical reference manual . table 6-3. system registers reg # address name function 0 0 sr status register 1 4 evba exception vector base address 2 8 acba application call base address 3 12 cpucr cpu control register 4 16 ecr exception cause register 5 20 rsr_sup unused in avr32uc 6 24 rsr_int0 unused in avr32uc 7 28 rsr_int1 unused in avr32uc 8 32 rsr_int2 unused in avr32uc 9 36 rsr_int3 unused in avr32uc 10 40 rsr_ex unused in avr32uc 11 44 rsr_nmi unused in avr32uc 12 48 rsr_dbg return status register for debug mode 13 52 rar_sup unused in avr32uc 14 56 rar_int0 unused in avr32uc 15 60 rar_int1 unused in avr32uc 16 64 rar_int2 unused in avr32uc 17 68 rar_int3 unused in avr32uc 18 72 rar_ex unused in avr32uc 19 76 rar_nmi unused in avr32uc 20 80 rar_dbg return address register for debug mode 21 84 jecr unused in avr32uc 22 88 josp unused in avr32uc 23 92 java_lv0 unused in avr32uc 24 96 java_lv1 unused in avr32uc 25 100 java_lv2 unused in avr32uc
25 32059k?03/2011 at32uc3b 26 104 java_lv3 unused in avr32uc 27 108 java_lv4 unused in avr32uc 28 112 java_lv5 unused in avr32uc 29 116 java_lv6 unused in avr32uc 30 120 java_lv7 unused in avr32uc 31 124 jtba unused in avr32uc 32 128 jbcr unused in avr32uc 33-63 132-252 reserved reserved for future use 64 256 config0 configuration register 0 65 260 config1 configuration register 1 66 264 count cycle counter register 67 268 compare compare register 68 272 tlbehi unused in avr32uc 69 276 tlbelo unused in avr32uc 70 280 ptbr unused in avr32uc 71 284 tlbear unused in avr32uc 72 288 mmucr unused in avr32uc 73 292 tlbarlo unused in avr32uc 74 296 tlbarhi unused in avr32uc 75 300 pccnt unused in avr32uc 76 304 pcnt0 unused in avr32uc 77 308 pcnt1 unused in avr32uc 78 312 pccr unused in avr32uc 79 316 bear bus error address register 80 320 mpuar0 mpu address register region 0 81 324 mpuar1 mpu address register region 1 82 328 mpuar2 mpu address register region 2 83 332 mpuar3 mpu address register region 3 84 336 mpuar4 mpu address register region 4 85 340 mpuar5 mpu address register region 5 86 344 mpuar6 mpu address register region 6 87 348 mpuar7 mpu address register region 7 88 352 mpupsr0 mpu privilege select register region 0 89 356 mpupsr1 mpu privilege select register region 1 90 360 mpupsr2 mpu privilege select register region 2 91 364 mpupsr3 mpu privilege select register region 3 table 6-3. system registers (continued) reg # address name function
26 32059k?03/2011 at32uc3b 6.5 exceptions and interrupts avr32uc incorporates a powerful exception handling scheme. the different exception sources, like illegal op-code and external interrupt requests, have different priority levels, ensuring a well- defined behavior when multiple exceptions ar e received simultaneously. additionally, pending exceptions of a higher priority class may preempt handling of ongoing exceptions of a lower pri- ority class. when an event occurs, the execution of the instruction stream is halted, and execution control is passed to an event handler at an address specified in table 6-4 on page 29 . most of the han- dlers are placed sequentially in the code space starting at the address specified by evba, with four bytes between each handler. this gives am ple space for a jump instruction to be placed there, jumping to the event rout ine itself. a few critical handle rs have larger spacing between them, allowing the entire event routine to be placed directly at the address specified by the evba-relative offset generated by hardware. all external interrupt sources have autovectored interrupt service routine (isr) addresses. this allows the interrupt controller to directly specify the isr address as an address relative to evba. the autovector offset has 14 address bits, giv- ing an offset of maximum 16384 bytes. the target address of the event handler is calculated as (evba | event_handler_offset), not (evba + even t_handler_offset), so evba and exception code segments must be set up appropriately. th e same mechanisms are used to service all dif- ferent types of events, including external in terrupt requests, yielding a uniform event handling scheme. an interrupt controller does the priority handling of the external interrupts and provides the autovector offset to the cpu. 6.5.1 system stack issues event handling in avr32uc uses the system stack pointed to by the system stack pointer, sp_sys, for pushing and popping r8 -r12, lr, status register, and return ad dress. since event code may be timing-critical, sp_sys should point to memory addresses in the iram section, since the timing of accesses to this memory section is both fast and deterministic. 92 368 mpupsr4 mpu privilege select register region 4 93 372 mpupsr5 mpu privilege select register region 5 94 376 mpupsr6 mpu privilege select register region 6 95 380 mpupsr7 mpu privilege select register region 7 96 384 mpucra unused in this version of avr32uc 97 388 mpucrb unused in this version of avr32uc 98 392 mpubra unused in this version of avr32uc 99 396 mpubrb unused in this version of avr32uc 100 400 mpuapra mpu access permission register a 101 404 mpuaprb mpu access permission register b 102 408 mpucr mpu control register 103-191 448-764 reserved reserved for future use 192-255 768-1020 impl implementation defined table 6-3. system registers (continued) reg # address name function
27 32059k?03/2011 at32uc3b the user must also make sure that the system stack is large enough so that any event is able to push the required registers to stack. if the system stack is full, and an event occurs, the system will enter an undefined state. 6.5.2 exceptions and interrupt requests when an event other than scall or debug request is received by the core, the following actions are performed atomically: 1. the pending event will not be acce pted if it is masked. the i3 m, i2m, i1m, i0m, em, and gm bits in the status register are used to mask different events. not all events can be masked. a few critical events (nmi, unreco verable exception, tlb multiple hit, and bus error) can not be masked. when an event is accepted, hardware automatically sets the mask bits corresponding to all sources with equal or lower priority. this inhibits acceptance of other events of the same or lower priority, except for the critical events listed above. software may choose to clear some or all of these bits after saving the necessary state if other priority schemes are desired. it is the event source?s respons- ability to ensure that their events are left pending until accepted by the cpu. 2. when a request is accepted, the status register and program counter of the current context is stored to the system stack. if the event is an int0, int1, int2, or int3, reg- isters r8-r12 and lr are also automatically stored to stack. storing the status register ensures that the core is returned to the previous execution mode when the current event handling is completed. when exceptions occur, both the em and gm bits are set, and the application may manually enable nested exceptions if desired by clear- ing the appropriate bit. each exception handler has a dedicated handler address, and this address uniquely identifies the exception source. 3. the mode bits are set to reflect the priority of the accepted event, and the correct regis- ter file bank is selected. the address of the event handler, as shown in table 6-4, is loaded into the program counter. the execution of the event handler routine then continues from the effective address calculated. the rete instruction signals the end of the event. when encountered, the return status register and return address register are popped from the system stack and restored to the status reg- ister and program counter. if the rete instruction returns from int0, int1, int2, or int3, registers r8-r12 and lr are also popped from the system stack. the restored status register contains information allowing the core to resume operation in the previous execution mode. this concludes the event handling. 6.5.3 supervisor calls the avr32 instruction set provides a supervisor mode call instruction. the scall instruction is designed so that privileged routines can be called from any context. this facilitates sharing of code between different execution modes. the scall mechanism is designed so that a minimal execution cycle overhead is experienced when performing supervisor routine calls from time- critical event handlers. the scall instruction behaves differently depending on which mode it is called from. the behav- iour is detailed in the instruction se t reference. in order to allow the scall routine to return to the correct context, a return from supervisor call instruction, rets , is implemented. in the avr32uc cpu, scall and rets uses the system stack to store the return address and the status register. 6.5.4 debug requests the avr32 architecture defines a dedicated debug mode. when a debug request is received by the core, debug mode is entered. entry into debug mode can be masked by the dm bit in the
28 32059k?03/2011 at32uc3b status register. upon entry into debug mode, hardware sets the sr[d] bit and jumps to the debug exception handler. by default, debug mode executes in the exception context, but with dedicated return address register and return status register. these dedicated registers remove the need for storing this data to the system stack, t hereby improving debuggability. the mode bits in the status register can freely be manipulated in debug mode, to observe registers in all contexts, while retaining full privileges. debug mode is exited by executing the retd instruction. this return s to the previous context. 6.5.5 entry points for events several different event handler entry points exists. in avr32uc, the reset address is 0x8000_0000. this places the reset address in the boot flash memory area. tlb miss exceptions and scall have a dedicated space relative to evba where their event han- dler can be placed. this speeds up execution by removing the need for a jump instruction placed at the program address jumped to by the event hardware. all other exceptions have a dedicated event routine entry point located relative to evba. the handler routine address identifies the exception source directly. avr32uc uses the itlb and dtlb protection exc eptions to signal a mp u protection violation. itlb and dtlb miss exceptions are used to signal that an access address did not map to any of the entries in the mpu. tlb multiple hit exception indicates that an access address did map to multiple tlb entries, signalling an error. all external interrupt r equests have entry point s located at an offset relative to evba. this autovector offset is specified by an external interrupt controller. the programmer must make sure that none of the autovector offsets interfer e with the placement of other code. the autovec- tor offset has 14 address bits, giving an offset of maximum 16384 bytes. special considerations should be made when loading evba with a po inter. due to security con- siderations, the event handlers should be located in non-writeable flash memory, or optionally in a privileged memory protection region if an mpu is present. if several events occur on the same instruction, they are handled in a prioritized way. the priority ordering is presented in table 6-4. if events occur on several instructions at different locations in the pipeline, the events on the oldest instruction are always handled before any events on any younger instruction, even if the younger instructi on has events of higher priority than the oldest instruction. an instruction b is younger than an in struction a if it was sent down the pipeline later than a. the addresses and priority of simultaneous events are shown in table 6-4. some of the excep- tions are unused in avr32uc since it has no mmu, coprocessor interface, or floating-point unit.
29 32059k?03/2011 at32uc3b table 6-4. priority and handler addresses for events priority handler address name event source stored return address 1 0x8000_0000 reset external input undefined 2 provided by ocd system ocd stop cpu ocd system first non-compl eted instruction 3 evba+0x00 unrecoverable exception int ernal pc of offending instruction 4 evba+0x04 tlb multiple hit mpu 5 evba+0x08 bus error data fetch data bu s first non-completed instruction 6 evba+0x0c bus error instruction fetch dat a bus first non-completed instruction 7 evba+0x10 nmi external input first non-completed instruction 8 autovectored interrupt 3 request external input first non-completed instruction 9 autovectored interrupt 2 request external input first non-completed instruction 10 autovectored interrupt 1 request external input first non-completed instruction 11 autovectored interrupt 0 request external input first non-completed instruction 12 evba+0x14 instruction address cp u pc of offending instruction 13 evba+0x50 itlb miss mpu 14 evba+0x18 itlb protection mpu pc of offending instruction 15 evba+0x1c breakpoint ocd system firs t non-completed instruction 16 evba+0x20 illegal opcode instructio n pc of offending instruction 17 evba+0x24 unimplemented instruction instr uction pc of offending instruction 18 evba+0x28 privilege violation instruc tion pc of offending instruction 19 evba+0x2c floating-point unused 20 evba+0x30 coprocessor absent instruct ion pc of offending instruction 21 evba+0x100 supervisor call instru ction pc(supervisor call) +2 22 evba+0x34 data address (read) cp u pc of offending instruction 23 evba+0x38 data address (write) cpu pc of offending instruction 24 evba+0x60 dtlb miss (read) mpu 25 evba+0x70 dtlb miss (write) mpu 26 evba+0x3c dtlb protection (read) mpu pc of offending instruction 27 evba+0x40 dtlb protection (write) m pu pc of offending instruction 28 evba+0x44 dtlb modified unused
30 32059k?03/2011 at32uc3b 6.6 module configuration all at32uc3b parts do not implement the same cpu and architecture revision. table 6-5. cpu and architecture revision part name architecture revision at32uc3bx512 2 at32uc3bx256 1 at32uc3bx128 1 at32uc3bx64 1
31 32059k?03/2011 at32uc3b 7. memories 7.1 embedded memories ? internal high-speed flash ? 512kbytes (at32uc3b0512, at32uc3b1512) ? 256 kbytes (at32uc3b0256, at32uc3b1256) ? 128 kbytes (at32uc3b0128, AT32UC3B1128) ? 64 kbytes (at32uc3b064, at32uc3b164) ? - 0 wait state access at up to 30 mhz in worst case conditions ? - 1 wait state access at up to 60 mhz in worst case conditions ? - pipelined flash architecture, allowing bu rst reads from sequen tial flash locations, hiding penalty of 1 wait state access ? - 100 000 write cycles, 15-year data retention capability ? - 4 ms page programming time, 8 ms chip erase time ? - sector lock capabilities, boot loader protection, security bit ? - 32 fuses, erased during chip erase ? - user page for data to be preserved during chip erase ? internal high-speed sram, singl e-cycle access at full speed ? 96kbytes ((at32uc3b0512, at32uc3b1512) ? 32kbytes (at32uc3b0256, at32uc3b0128, at32uc3b1256 and AT32UC3B1128) ? 16kbytes (at32uc3b064 and at32uc3b164) 7.2 physical memory map the system bus is implemented as a bus matrix . all system bus addresses are fixed, and they are never remapped in any way, not even in boot. note that avr32 uc cpu uses unsegmented translation, as described in the avr32uc technical architecture manual. the 32-bit physical address space is mapped as follows: table 7-1. at32uc3b physical memory map device embedded sram embedded flash usb data hsb-pb bridge a hsb-pb bridge b start address 0x0000_0000 0x8000_0000 0xd000_0000 0xffff_0000 0xfffe_0000 size at32uc3b0512 at32uc3b1512 96 kbytes 512 kbytes 64 kbytes 64 kbytes 64 kbytes at32uc3b0256 at32uc3b1256 32 kbytes 256 kbytes 64 kbytes 64 kbytes 64 kbytes at32uc3b0128 AT32UC3B1128 32 kbytes 128 kbytes 64 kbytes 64 kbytes 64 kbytes at32uc3b064 at32uc3b164 16 kbytes 64 kbytes 64 kbytes 64 kbytes 64 kbytes
32 32059k?03/2011 at32uc3b 7.3 peripheral address map table 7-2. peripheral address mapping address peripheral name 0xfffe0000 usb usb 2.0 interface - usb 0xfffe1000 hmatrix hsb matrix - hmatrix 0xfffe1400 hflashc flash controller - hflashc 0xffff0000 pdca peripheral dma controller - pdca 0xffff0800 intc interrupt controller - intc 0xffff0c00 pm power manager - pm 0xffff0d00 rtc real time counter - rtc 0xffff0d30 wdt watchdog timer - wdt 0xffff0d80 eim external interrupt controller - eim 0xffff1000 gpio general purpose input/ output controller - gpio 0xffff1400 usart0 universal synchronous/asynchronous receiver/transmitter - usart0 0xffff1800 usart1 universal synchronous/asynchronous receiver/transmitter - usart1 0xffff1c00 usart2 universal synchronous/asynchronous receiver/transmitter - usart2 0xffff2400 spi0 serial peripheral interface - spi0 0xffff2c00 twi two-wire interface - twi 0xffff3000 pwm pulse width modulation controller - pwm 0xffff3400 ssc synchronous serial controller - ssc 0xffff3800 tc timer/counter - tc
33 32059k?03/2011 at32uc3b 7.4 cpu local bus mapping some of the registers in the gpio module are mapped onto the cpu local bus, in addition to being mapped on the peripheral bus. these registers can therefore be reached both by accesses on the peripheral bus, and by accesses on the local bus. mapping these registers on the local bus allows cycle-deterministic toggling of gpio pins since the cpu and gpio are the only modules connected to this bus. also, since the local bus runs at cpu speed, one write or read operation can be pe rformed per clock cycle to the local bus- mapped gpio registers. the following gpio registers are mapped on the local bus: 0xffff3c00 adc analog to digital converter - adc 0xffff4000 abdac audio bitstream dac - abdac table 7-2. peripheral address mapping table 7-3. local bus mapped gpio registers port register mode local bus address access 0 output driver enable register (oder) write 0x4000_0040 write-only set 0x4000_0044 write-only clear 0x4000_0048 write-only toggle 0x4000_004c write-only output value register (ovr) write 0x4000_0050 write-only set 0x4000_0054 write-only clear 0x4000_0058 write-only toggle 0x4000_005c write-only pin value register (pvr) - 0x4000_0060 read-only 1 output driver enable register (oder) write 0x4000_0140 write-only set 0x4000_0144 write-only clear 0x4000_0148 write-only toggle 0x4000_014c write-only output value register (ovr) write 0x4000_0150 write-only set 0x4000_0154 write-only clear 0x4000_0158 write-only toggle 0x4000_015c write-only pin value register (pvr) - 0x4000_0160 read-only
34 32059k?03/2011 at32uc3b 8. boot sequence this chapter summarizes the boot sequence of the at32uc3b. the behaviour after power-up is controlled by the power manager. for specific details, refer to section power manager (pm). 8.1 starting of clocks after power-up, the device will be held in a reset state by the power-on reset circuitry, until the power has stabilized throughout the device. once the power has stabilized, the device will use the internal rc oscilla tor as clock source. on system start-up, the plls are disabled. all clocks to all modules are running. no clocks have a divided frequency, all parts of the system recieves a clock with the same frequency as the internal rc oscillator. 8.2 fetching of initial instructions after reset has been released, the avr32 uc cpu starts fetching instructions from the reset address, which is 0x8000_0000. this address points to the first address in the internal flash. the code read from the internal flash is free to configure the system to use for example the plls, to divide the frequency of the clock routed to some of the peripherals, and to gate the clocks to unused peripherals. when powering up the device, there may be a delay before the voltage has stabilized, depend- ing on the rise time of the supply used. the cpu can start executing code as soon as the supply is above the por threshold, and before the supply is stable. before switching to a high-speed clock source, the user should use the bod to make sure the vddcore is above the minimum level.
35 32059k?03/2011 at32uc3b 9. electrical characteristics 9.1 absolute maximum ratings* operating temperature.................................... -40c to +85c *notice: stresses beyond those listed under ?absolute maximum ratings? may cause permanent dam- age to the device. this is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied. exposure to absolute maximum rating conditions for extended periods may affect device reliability. storage temperature ..................................... -60c to +150c voltage on gpio pins with respect to ground for tck, reset_n, pa03, pa04, pa05, pa 0 6 , pa 0 7 , pa 0 8 , pa 1 1 , pa 1 2 , pa 1 8 , pa 1 9 , pa 2 8 , pa 2 9 , pa30, pa31 ............................................................ -0.3 to 3.6v voltage on gpio pins with respect to ground except for tck, reset_n, pa03, pa 0 4 , pa 0 5 , pa 0 6 , pa 0 7 , pa 0 8 , pa 1 1 , pa 1 2 , pa 1 8 , pa 1 9 , pa28, pa29, pa30, pa31 ....................................... -0.3 to 5.5v maximum operating voltage (vddcore, vddpll) ..... 1.95v maximum operating voltage (vddio,vddin,vddana).. 3.6v total dc output current on all i/o pin for 48-pin package ....................................................... 200 ma for 64-pin package ....................................................... 265 ma
36 32059k?03/2011 at32uc3b 9.2 dc characteristics the following characteristics are applicable to the operating temperature range: t a = -40c to 85c, unless otherwise spec- ified and are certified for a junction temperature up to t j = 100c. table 9-1. dc characteristics symbol parameter conditions min. typ. max. unit v vddcore dc supply core 1.65 1.95 v v vddpll dc supply pll 1.65 1.95 v v vddio dc supply peripheral i/os 3.0 3.6 v v il input low-level voltage -0.3 +0.8 v v ih input high-level voltage at32uc3b064 at32uc3b0128 at32uc3b0256 at32uc3b164 AT32UC3B1128 at32uc3b1256 all i/o pins except tck, reset_n, pa03, pa04, pa05, pa06, pa07, pa08, pa11, pa12, pa18, pa19, pa28, pa29, pa30, pa31 2.0 5.5 v tck, reset_n, pa03, pa04, pa05, pa06, pa07, pa08, pa11, pa12, pa18, pa19, pa28, pa29, pa30, pa 3 1 2.0 3.6 v at32uc3b0512 at32uc3b1512 all i/o pins except tck, reset_n, pa03, pa04, pa05, pa06, pa07, pa08, pa11, pa12, pa18, pa19, pa28, pa29, pa30, pa31 2.0 5.5 v tck, reset_n 2.5 3.6 v pa03, pa04, pa05, pa06, pa07, pa08, pa11, pa12, pa18, pa19, pa28, pa29, pa 3 0 , pa 3 1 2.0 3.6 v v ol output low-level voltage i ol = -4ma for all i/o except pa20, pa21, pa22, pa 2 3 0.4 v i ol = -8ma for pa20, pa21, pa22, pa23 0.4 v v oh output high-level voltage i ol = -4ma for all i/o except pa20, pa21, pa22, pa 2 3 v vddio -0.4 v i ol = - 8 m a fo r pa 2 0 , pa 2 1 , pa 2 2 , pa 2 3 v vddio -0.4 v i ol output low-level current all i/o pins except pa20, pa21, pa22, pa23 -4 ma pa 2 0 , pa 2 1 , pa 2 2 , pa 2 3 - 8 m a i oh output high-level current all i/o pins except for pa20, pa21, pa22, pa23 4 ma pa 2 0 , pa 2 1 , pa 2 2 , pa 2 3 8 m a i leak input leakage current pullup resistors disabled 1 a c in input capacitance qfp64 7 pf qfp48 7 pf qfn64 7 pf qfn48 7 pf
37 32059k?03/2011 at32uc3b r pullup pull-up resistance at32uc3b064 at32uc3b0128 at32uc3b0256 at32uc3b164 AT32UC3B1128 at32uc3b1256 all i/o pins except reset_n, tck, tdi, tms pins 13 19 25 k reset_n pin, tck, tdi, tms pins 51225k at32uc3b0512 at32uc3b1512 all i/o pins except pa20, pa21, pa22, pa23, reset_n, tck, tdi, tms pins 10 15 20 k pa20, pa21, pa22, pa23 5 7.5 12 k reset_n pin, tck, tdi, tms pins 51025k i sc static current at32uc3b064 at32uc3b0128 at32uc3b0256 at32uc3b164 AT32UC3B1128 at32uc3b1256 on v vddcore = 1.8v, device in static mode t a = 25c 6a all inputs driven including jtag; reset_n=1 t a = 85c 42.5 a at32uc3b0512 at32uc3b1512 on v vddcore = 1.8v, device in static mode t a = 25c 7.5 a all inputs driven including jtag; reset_n=1 t a = 85c 39 a table 9-1. dc characteristics symbol parameter conditions min. typ. max. unit
38 32059k?03/2011 at32uc3b 9.3 regulator characteristics 9.4 analog characteristics 9.4.1 adc reference 9.4.2 bod table 9-6 describes the values of the bodlevel field in the flash fgpfr register. table 9-2. electrical characteristics symbol parameter conditions min. typ. max. unit v vddin supply voltage (input) 3 3.3 3.6 v v vddout supply voltage (output) 1.70 1.8 1.85 v i out maximum dc output current v vddin = 3.3v 100 ma i scr static current of internal regulator low power mode (stop, deep stop or static) at t a = 25c 10 a table 9-3. decoupling requirements symbol parameter conditions typ. technology unit c in1 input regulator capacitor 1 1 npo nf c in2 input regulator capacitor 2 4.7 x7r f c out1 output regulator capacitor 1 470 npo pf c out2 output regulator capacitor 2 2.2 x7r f table 9-4. electrical characteristics symbol parameter conditions min. typ. max. unit v advref analog voltage reference (input) 2.6 3.6 v table 9-5. decoupling requirements symbol parameter conditions typ. technology unit c vref1 voltage reference capacitor 1 10 npo nf c vref2 voltage reference capacitor 2 1 npo uf table 9-6. bod level values symbol parameter value conditions min. typ. max. unit bodlevel 00 0000b 1.44 v 01 0111b 1.52 v 01 1111b 1.61 v 10 0111b 1.71 v
39 32059k?03/2011 at32uc3b 9.4.3 reset sequence table 9-7. bod timing symbol parameter conditions min. typ. max. unit t bod minimum time with vddcore < vbod to detect power failure falling vddcore from 1.8v to 1.1v 300 800 ns table 9-8. electrical characteristics symbol parameter conditions min. typ. max. unit v ddrr vddcore rise rate to ensure power- on-reset 2.5 v/ms v ddfr vddcore fall rate to ensure power- on-reset 0.01 400 v/ms v por+ rising threshold voltage: voltage up to which device is kept under reset by por on rising vddcore rising vddcore: v restart -> v por+ 1.4 1.55 1.65 v v por- falling threshold voltage: voltage when por resets device on falling vddcore falling vddcore: 1.8v -> v por+ 1.2 1.3 1.4 v v restart on falling vddcore, voltage must go down to this value before supply can rise again to ensure reset signal is released at v por+ falling vddcore: 1.8v -> v restart -0.1 0.5 v t por minimum time with vddcore < v por- falling vddcore: 1.8v -> 1.1v 15 s t rst time for reset signal to be propagated to system 200 400 s t ssu1 time for cold system startup: time for cpu to fetch its first instruction (rcosc not calibrated) 480 960 s t ssu2 time for hot system startup: time for cpu to fetch its first instruction (rcosc calibrated) 420 s
40 32059k?03/2011 at32uc3b figure 9-1. mcu cold start-up r eset_n tied to vddin figure 9-2. mcu cold start-up rese t_n externally driven figure 9-3. mcu hot start-up in dual supply configuration, the power up sequence must be carefully managed to ensure a safe startup of the device in all conditions. the power up sequence must ensure that the internal logic is safely powered when the internal reset (power on reset) is released and that the internal flash logic is safely powered when the cpu fetch the first instructions. v por+ vddcore internal mcu reset t ssu1 internal por reset v por- t por t rst reset_n v restart v por+ vddcore internal mcu reset t ssu1 internal por reset v por- t por t rst reset_n v restart vddcore internal mcu reset t ssu2 reset_n bod reset wdt reset
41 32059k?03/2011 at32uc3b therefore vddcore rise rate (v ddrr) must be equal or superi or to 2.5v/ms and vddio must reach vddio mini value before 500 us (< trst + tssu1) after vddcore has reached v por+ min value. figure 9-4. dual supply configuration 9.4.4 reset_n characteristics v d d r r 2 . 5 v / m s m i n i m u m vpor+ min vddio min <500us vddio vddcore internal por (active low) trst tssu1 first instruction fetched in flash table 9-9. reset_n waveform parameters symbol parameter conditions min. typ. max. unit t reset reset_n minimum pulse width 10 ns
42 32059k?03/2011 at32uc3b 9.5 power consumption the values in table 9-10 , table 9-11 on page 43 and table 9-12 on page 44 are measured val- ues of power consumption with op erating conditions as follows: ?v ddio = v ddana = 3.3v ?v ddcore = v ddpll = 1.8v ?t a = 25 c, t a = 85 c ?i/os are configured in input, pull-up enabled. figure 9-5. measurement setup the following tables represent the power consumption measured on the power supplies. internal voltage regulator amp0 amp1 vddana vddio vddin vddout vddcore vddpll
43 32059k?03/2011 at32uc3b 9.5.1 power consumtion for different sleep modes notes: 1. core frequency is generated from xin0 using the pll so that 140 mhz < f pll0 < 160 mhz and 10 mhz < f xin0 < 12 mhz. table 9-10. power consumption for different sleep modes for at32uc3b064, at32uc3b0128, at32uc3b0256, at32uc3b164, AT32UC3B1128, at32uc3b1256 mode conditions typ. unit active - cpu running a recursive fibonacci algorithm from flash and clocked from pll0 at f mhz. - voltage regulator is on. - xin0: external clock. xin1 stopped. xin32 stopped. - all peripheral clocks activated with a division by 8. - gpios are inactive with internal pull-up, jtag unconnected with external pull- up and input pins are connected to gnd 0.3xf(mhz)+0.443 ma/mhz same conditions at 60 mhz 18.5 ma idle see active mode conditions 0.117xf(mhz)+0.28 ma/mhz same conditions at 60 mhz 7.3 ma frozen see active mode conditions 0.058xf(mhz)+0.115 ma/mhz same conditions at 60 mhz 3.6 ma standby see active mode conditions 0.042xf(mhz)+0.115 ma/mhz same conditions at 60 mhz 2.7 ma stop - cpu running in sleep mode - xin0, xin1 and xin32 are stopped. - all peripheral clocks are desactived. - gpios are inactive with internal pull-up, jtag unconnected with external pull- up and input pins are connected to gnd. 37.8 a deepstop see stop mode conditions 24.9 a static see stop mode conditions voltage regulator on 13.9 a voltage regulator off 8.9 a table 9-11. power consumption for different sleep modes for at32uc3b0512, at32uc3b1512 mode conditions typ. unit active - cpu running a recursive fibonacci algorithm from flash and clocked from pll0 at f mhz. - voltage regulator is on. - xin0: external clock. xin1 stopped. xin32 stopped. - all peripheral clocks activated with a division by 8. - gpios are inactive with internal pull-up, jtag unconnected with external pull-up and input pins are connected to gnd 0.359xf(mhz)+1.53 ma/mhz same conditions at 60 mhz 24 ma idle see active mode conditions 0.146xf(mhz)+0.291 ma/mhz same conditions at 60 mhz 9 ma frozen see active mode conditio ns 0.0723xf(mhz)+0.156 ma/mhz same conditions at 60 mhz 4.5 ma
44 32059k?03/2011 at32uc3b notes: 1. core frequency is generated from xin0 using the pll so that 140 mhz < f pll0 < 160 mhz and 10 mhz < f xin0 < 12 mhz. standby see active mode conditio ns 0.0537xf(mhz)+0.166 ma/mhz same conditions at 60 mhz 3.4 ma stop - cpu running in sleep mode - xin0, xin1 and xin32 are stopped. - all peripheral clocks are desactived. - gpios are inactive with internal pull-up, jtag unconnected with external pull-up and input pins are connected to gnd. 62 a deepstop see stop mode conditions 30 a static see stop mode conditions voltage regulator on 15.5 a voltage regulator off 7.5 table 9-11. power consumption for different sleep modes for at32uc3b0512, at32uc3b1512 mode conditions typ. unit table 9-12. peripheral interface power consumption in active mode peripheral conditions consumption unit intc at32uc3b064 at32uc3b0128 at32uc3b0256 at32uc3b164 AT32UC3B1128 at32uc3b1256 at32uc3b0512 at32uc3b1512 20 a/mhz gpio 16 pdca 12 usart 14 usb 23 adc 8 twi 7 pwm 18 spi 8 ssc 11 tc 11 abdac at32uc3b0512 at32uc3b1512 6
45 32059k?03/2011 at32uc3b 9.6 system clock characteristics these parameters are given in the following conditions: ?v ddcore = 1.8v ? ambient temperature = 25c 9.6.1 cpu/hsb clock characteristics 9.6.2 pba clock characteristics 9.6.3 pbb clock characteristics table 9-13. core clock waveform parameters symbol parameter conditions min. typ. max. unit 1/(t cpcpu ) cpu clock frequency 60 mhz t cpcpu cpu clock period 16.6 ns table 9-14. pba clock waveform parameters symbol parameter conditions min. typ. max. unit 1/(t cppba ) pba clock frequency 60 mhz t cppba pba clock period 16.6 ns table 9-15. pbb clock waveform parameters symbol parameter conditions min. typ. max. unit 1/(t cppbb ) pbb clock frequency 60 mhz t cppbb pbb clock period 16.6 ns
46 32059k?03/2011 at32uc3b 9.7 oscillator characteristics the following characteristics are applicabl e to the operating temperature range: t a = -40c to 85c and worst case of power supply, unless otherwise specified. 9.7.1 slow clock rc oscillator 9.7.2 32 khz oscillator note: 1. c l is the equivalent load capacitance. table 9-16. rc oscillator frequency symbol parameter conditions min. typ. max. unit f rc rc oscillator frequency calibration point: t a = 85c 115.2 116 khz t a = 25c 112 khz t a = -40c 105 108 khz table 9-17. 32 khz oscillator characteristics symbol parameter conditions min. typ. max. unit 1/(t cp32khz ) oscillator frequency external clock on xin32 30 mhz crystal 32 768 hz c l equivalent load capacitance 6 12.5 pf esr crystal equivalent series resistance 100 k t st startup time c l = 6pf (1) c l = 12.5pf (1) 600 1200 ms t ch xin32 clock high half-period 0.4 t cp 0.6 t cp t cl xin32 clock low half-period 0.4 t cp 0.6 t cp c in xin32 input capacitance 5pf i osc current consumption active mode 1.8 a standby mode 0.1 a
47 32059k?03/2011 at32uc3b 9.7.3 main oscillators 9.7.4 phase lock loop table 9-18. main oscillators characteristics symbol parameter conditions min. typ. max. unit 1/(t cpmain ) oscillator frequency external clock on xin 50 mhz crystal 0.4 20 mhz c l1 , c l2 internal load capacitance (c l1 = c l2 )12pf esr crystal equivalent series resistance 75 duty cycle 405060 % t st startup time f = 3 mhz f = 8 mhz f = 16 mhz 14.5 4 1.4 ms t ch xin clock high half-period 0.4 t cp 0.6 t cp t cl xin clock low half-period 0.4 t cp 0.6 t cp c in xin input capacitance 12 pf i osc current consumption active mode at 450 khz. gain = g0 25 a active mode at 16 mhz. gain = g3 325 a table 9-19. phase lock loop characteristics symbol parameter conditions min. typ. max. unit f out vco output frequency 80 240 mhz f in input frequency 4 16 mhz i pll current consumption active mode f vco @96 mhz active mode f vco @128 mhz active mode f vco @160 mhz 320 410 450 a standby mode 5 a
48 32059k?03/2011 at32uc3b 9.8 adc characteristics notes: 1. corresponds to 13 clock cycles: 3 clock cycles for track and hold acquisition time and 10 clock cycles for conversion. 2. corresponds to 15 clock cycles: 5 clock cycles for track and hold acquisition time and 10 clock cycles for conversion. note: 1. advref should be connected to gnd to av oid extra consumption in case adc is not used. table 9-20. channel conversion time and adc clock parameter conditions min. typ. max. unit adc clock frequency 10-bit resolution mode 5 mhz adc clock frequency 8-bit resolution mode 8 mhz startup time return from idle mode 20 s track and hold acquisition time 600 ns track and hold input resistor 350 track and hold capacitor 12 pf conversion time adc clock = 5 mhz 2 s adc clock = 8 mhz 1.25 s throughput rate adc clock = 5 mhz 384 (1) ksps adc clock = 8 mhz 533 (2) ksps table 9-21. external voltage reference input parameter conditions min. typ. max. unit advref input voltage range (1) 2.6 vddana v advref average current on 13 samples with adc clock = 5 mhz 200 250 a current consumption on vddana on 13 samples with adc clock = 5 mhz 1 ma table 9-22. analog inputs parameter conditions min. typ. max. unit input voltage range 0 v advref v input leakage current 1a input capacitance 7pf table 9-23. transfer characteristics in 8-bit mode parameter conditions min. typ. max. unit resolution 8bit absolute accuracy adc clock = 5 mhz 0.8 lsb adc clock = 8 mhz 1.5 lsb integral non-linearity adc clock = 5 mhz 0.35 0.5 lsb adc clock = 8 mhz 0.5 1.0 lsb
49 32059k?03/2011 at32uc3b differential non-linearity adc clock = 5 mhz 0.3 0.5 lsb adc clock = 8 mhz 0.5 1.0 lsb offset error adc clock = 5 mhz -0.5 0.5 lsb gain error adc clock = 5 mhz -0.5 0.5 lsb table 9-23. transfer characteristics in 8-bit mode parameter conditions min. typ. max. unit table 9-24. transfer characteristics in 10-bit mode parameter conditions min. typ. max. unit resolution 10 bit absolute accuracy adc clock = 5 mhz 3 lsb integral non-linearity adc clock = 5 mhz 1.5 2 lsb differential non-linearity adc clock = 5 mhz 1 2 lsb adc clock = 2.5 mhz 0.6 1 lsb offset error adc clock = 5 mhz -2 2 lsb gain error adc clock = 5mhz -2 2 lsb
50 32059k?03/2011 at32uc3b 9.9 usb transceiver characteristics 9.9.1 electrical characteristics the usb on-chip buffers comply with the univ ersal serial bus (usb) v2.0 standard. all ac parameters related to these buffers can be foun d within the usb 2.0 electrical specifications. table 9-25. electrical parameters symbol parameter conditions min. typ. max. unit r ext recommended external usb series resistor in series with each usb pin with 5% 39
51 32059k?03/2011 at32uc3b 9.10 jtag characteristics 9.10.1 jtag timing figure 9-6. jtag interface signals note: 1. these values are based on simulation and characterization of other avr microcontrollers manufactured in the same pro-cess technology. these values are not covered by test limits in production. jtag2 jtag3 jtag1 jtag4 jtag0 tms/tdi tck tdo jtag5 jtag6 jtag7 jtag8 jtag9 jtag10 boundary scan inputs boundary scan outputs table 9-26. jtag timings (1) symbol parameter conditions min max units jtag0 tck low half-period v vddio from 3.0v to 3.6v, maximum external capacitor = 40pf 23.2 ns jtag1 tck high half-period 8.8 ns jtag2 tck period 32.0 ns jtag3 tdi, tms setup before tck high 3.9 ns jtag4 tdi, tms hold after tck high 0.6 ns jtag5 tdo hold time 4.5 ns jtag6 tck low to tdo valid 23.2 ns jtag7 boundary scan inputs setup time 0 ns jtag8 boundary scan inputs hold time 5.0 ns jtag9 boundary scan outputs hold time 8.7 ns jtag10 tck to boundary scan outputs valid 17.7 ns
52 32059k?03/2011 at32uc3b 9.11 spi characteristics figure 9-7. spi master mode with (cpol = ncpha = 0) or (cpol= ncpha= 1) figure 9-8. spi master mode with (cpol=0 and ncpha=1) or (cpol=1 and ncpha=0) figure 9-9. spi slave mode with (cpol=0 and ncpha=1) or (cpol=1 and ncpha=0) spck miso mosi spi 2 spi 0 spi 1 spck miso mosi spi 5 spi 3 spi 4 spck miso mosi spi 6 spi 7 spi 8
53 32059k?03/2011 at32uc3b figure 9-10. spi slave mode with (cpol = ncph a = 0) or (cpol= ncpha= 1) notes: 1. 3.3v domain: v vddio from 3.0v to 3.6v, maximum external capacitor = 40 pf. 2. t cpmck : master clock period in ns. spck miso mosi spi 9 spi 10 spi 11 table 9-27. spi timings symbol parameter conditions min. max. unit spi 0 miso setup time before spck rises (master) 3.3v domain (1) 22 + (t cpmck )/2 (2) ns spi 1 miso hold time after spck rises (master) 3.3v domain (1) 0ns spi 2 spck rising to mosi delay (master) 3.3v domain (1) 7ns spi 3 miso setup time before spck falls (master) 3.3v domain (1) 22 + (t cpmck )/2 (2) ns spi 4 miso hold time after spck falls (master) 3.3v domain (1) 0ns spi 5 spck falling to mosi delay master) 3.3v domain (1) 7ns spi 6 spck falling to miso delay (slave) 3.3v domain (1) 26.5 ns spi 7 mosi setup time before spck rises (slave) 3.3v domain (1) 0ns spi 8 mosi hold time after spck rises (slave) 3.3v domain (1) 1.5 ns spi 9 spck rising to miso delay (slave) 3.3v domain (1) 27 ns spi 10 mosi setup time before spck falls (slave) 3.3v domain (1) 0ns spi 11 mosi hold time after spck falls (slave) 3.3v domain (1) 1ns
54 32059k?03/2011 at32uc3b 9.12 flash memory characteristics the following table gives the device maximum op erating frequency depending on the field fws of the flash fsr register. this field defines the number of wait states required to access the flash memory. flash operating freque ncy equals the cpu/hsb frequency. table 9-28. flash operating frequency symbol parameter conditions min. typ. max. unit f fop flash operating frequency fws = 0 33 mhz fws = 1 60 mhz table 9-29. programming time symbol parameter conditions min. typ. max. unit t fpp page programming time 4 ms t ffp fuse programming time 0.5 ms t fce chip erase time 4ms table 9-30. flash parameters symbol parameter conditions min. typ. max. unit n farray flash array write/erase cycle 100k cycle n ffuse general purpose fuses write cycle 1000 cycle t fdr flash data retention time 15 year
55 32059k?03/2011 at32uc3b 10. mechanical characteristics 10.1 thermal considerations 10.1.1 thermal data table 10-1 summarizes the thermal resistance data depending on the package. 10.1.2 junction temperature the average chip-junction temperature, t j , in c can be obtained from the following: 1. 2. where: ? ja = package thermal resistance, junction-to-ambient (c/w), provided in table 10-1 on page 55 . ? jc = package thermal resistance, junction-to-ca se thermal resistance (c/w), provided in table 10-1 on page 55 . ? heat sink = cooling device thermal resistance (c/w), provided in the device datasheet. ?p d = device power consumption (w) estimated from data provided in the section ?power consumption? on page 42 . ?t a = ambient temperature (c). from the first equation, the user can derive the estimated lifetime of the chip and decide if a cooling device is necessary or not. if a coolin g device is to be fitted on the chip, the second equation should be used to compute the resulting average chip-junction temperature t j in c. table 10-1. thermal resistance data symbol parameter condition package typ unit ja junction-to-ambient thermal resistance still air tqfp64 49.6 ? c/w jc junction-to-case thermal resistance tqfp64 13.5 ja junction-to-ambient thermal resistance still air tqfp48 51.1 ? c/w jc junction-to-case thermal resistance tqfp48 13.7 t j t a p d ja () + = t j t a p ( d ( heatsink jc )) ++ =
56 32059k?03/2011 at32uc3b 10.2 package drawings figure 10-1. tqfp-64 package drawing table 10-2. device and package maximum weight weight 300 mg table 10-3. package characteristics moisture sensitivity level jedec j-std-20d-msl3 table 10-4. package reference jedec drawing reference ms-026 jesd97 classification e3
57 32059k?03/2011 at32uc3b figure 10-2. tqfp-48 package drawing table 10-5. device and package maximum weight weight 100 mg table 10-6. package characteristics moisture sensitivity level jedec j-std-20d-msl3 table 10-7. package reference jedec drawing reference ms-026 jesd97 classification e3
58 32059k?03/2011 at32uc3b figure 10-3. qfn-64 package drawing table 10-8. device and package maximum weight weight 200 mg table 10-9. package characteristics moisture sensitivity level jedec j-std-20d-msl3 table 10-10. package reference jedec drawing reference m0-220 jesd97 classification e3
59 32059k?03/2011 at32uc3b figure 10-4. qfn-48 package drawing table 10-11. device and package maximum weight weight 100 mg table 10-12. package characteristics moisture sensitivity level jedec j-std-20d-msl3 table 10-13. package reference jedec drawing reference m0-220 jesd97 classification e3
60 32059k?03/2011 at32uc3b 10.3 soldering profile table 10-14 gives the recommended soldering profile from j-std-20. note: it is recommended to apply a soldering temperature higher than 250c. a maximum of three reflow passes is allowed per component. table 10-14. soldering profile profile feature green package average ramp-up rate (217c to peak) 3c/s preheat temperature 175c 25c min. 150c, max. 200c temperature maintained above 217c 60-150s time within 5 ? c of actual peak temperature 30s peak temperature range 260c ramp-down rate 6c/s time 25 ? c to peak temperature max. 8mn
61 32059k?03/2011 at32uc3b 11. ordering information device ordering code package conditioning temperature operating range at32uc3b0512 at32uc3b0512-a2ues tqfp 64 - industrial (-40 c to 85 c) at32uc3b0512-a2ur tqfp 64 reel industrial (-40 c to 85 c) at32uc3b0512-a2ut tqfp 64 tray industrial (-40 c to 85 c) at32uc3b0512-z2ues qfn 64 - industrial (-40 c to 85 c) at32uc3b0512-z2ur qfn 64 reel industrial (-40 c to 85 c) at32uc3b0512-z2ut qfn 64 tray industrial (-40 c to 85 c) at32uc3b0256 at32uc3b0256-a2ut tqfp 64 tray industrial (-40 c to 85 c) at32uc3b0256-a2ur tqfp 64 reel industrial (-40 c to 85 c) at32uc3b0256-z2ut qfn 64 tray industrial (-40 c to 85 c) at32uc3b0256-z2ur qfn 64 reel industrial (-40 c to 85 c) at32uc3b0128 at32uc3b0128-a2ut tqfp 64 tray industrial (-40 c to 85 c) at32uc3b0128-a2ur tqfp 64 reel industrial (-40 c to 85 c) at32uc3b0128-z2ut qfn 64 tray industrial (-40 c to 85 c) at32uc3b0128-z2ur qfn 64 reel industrial (-40 c to 85 c) at32uc3b064 at32uc3b064-a2ut tqfp 64 tray industrial (-40 c to 85 c) at32uc3b064-a2ur tqfp 64 reel industrial (-40 c to 85 c) at32uc3b064-z2ut qfn 64 tray industrial (-40 c to 85 c) at32uc3b064-z2ur qfn 64 reel industrial (-40 c to 85 c) at32uc3b1512 at32uc3b1512-z1ut qfn 48 - industrial (-40 c to 85 c) at32uc3b1512-z1ur qfn 48 - industrial (-40 c to 85 c) at32uc3b1256 at32uc3b1256-aut tqfp 48 tray industrial (-40 c to 85 c) at32uc3b1256-aur tqfp 48 reel industrial (-40 c to 85 c) at32uc3b1256-z1ut qfn 48 tray industrial (-40 c to 85 c) at32uc3b1256-z1ur qfn 48 reel industrial (-40 c to 85 c) AT32UC3B1128 AT32UC3B1128-aut tqfp 48 tray industrial (-40 c to 85 c) AT32UC3B1128-aur tqfp 48 reel industrial (-40 c to 85 c) AT32UC3B1128-z1ut qfn 48 tray industrial (-40 c to 85 c) AT32UC3B1128-z1ur qfn 48 reel industrial (-40 c to 85 c) at32uc3b164 at32uc3b164-aut tqfp 48 tray industrial (-40 c to 85 c) at32uc3b164-aur tqfp 48 reel industrial (-40 c to 85 c) at32uc3b164-z1ut qfn 48 tray industrial (-40 c to 85 c) at32uc3b164-z1ur qfn 48 reel industrial (-40 c to 85 c)
62 32059k?03/2011 at32uc3b 12. errata 12.1 at32uc3b0512, at32uc3b1512 12.1.1 rev d - pwm 1. pwm channel interrupt enabling triggers an interrupt when enabling a pwm channel that is configured with center aligned period (calg=1), an interrupt is signalled. fix/workaround when using center aligned mode, enable the channel and read the status before channel interrupt is enabled. 2. pwn counter restarts at 0x0001 the pwm counter restarts at 0x0001 and not 0x0000 as specified. because of this the first pwm period has one more clock cycle. fix/workaround - the first period is 0x0000, 0x0001, ..., period. - consecutive periods are 0x0001, 0x0002, ..., period. 3. pwm update period to a 0 value does not work it is impossible to update a period equal to 0 by the using the pwm update register (pwm_cupd). fix/workaround do not update the pwm_cupd register with a value equal to 0. - spi 1. spi slave / pdca tran sfer: no tx underrun flag there is no tx underrun flag available, ther efore in spi slave mode, there is no way to be informed of a character lost in transmission. fix/workaround for pdca transfer: none. 2. spi bad serial clock generation on 2nd chip_select when scbr = 1, cpol=1 and ncpha=0 when multiple cs are in use, if one of the baudrate equals to 1 and one of the others doesn't equal to 1, and cpol=1 and cpha=0, then an aditional pulse will be generated on sck. fix/workaround when multiple cs are in use, if one of the baudrate equals 1, the other must also equal 1 if cpol=1 and cpha=0.
63 32059k?03/2011 at32uc3b 3. spi glitch on rxready flag in slave mode when enabling the spi or during the first transfer in slave mode, the spi can generate a false rxready signal during enabling of the spi or during the first transfer. fix/workaround 1. set slave mode, set required cpol/cpha. 2. enable spi. 3. set the polarity cpol of the line in the opposite value of the required one. 4. set the polarity cpol to the required one. 5. read the rxholding register. transfers can now befin and rxr eady will now behave as expected. 4. spi disable does not work in slave mode spi disable does not work in slave mode. fix/workaround read the last received data, then perform a software reset. 5. spi data transfer hangs with csr0.csaat==1 and mr.modfdis==0 when csr0.csaat==1 and mode fault detection is enabled (mr.modfdis==0), the spi module will not start a data transfer. fix/workaround disable mode fault detection by writing a one to mr.modfdis. 6. disabling spi has no effect on flag tdre flag disabling spi has no effect on tdre whereas the write data command is filtered when spi is disabled. this means that as soon as the spi is disabled it becomes impossible to reset the tdre flag by writing in the tdr. so if the spi is disabled during a pdca transfer, the pdca will continue to write data in the tdr (as tdre stays hi gh) until its buffer is empty, and all data written after the disable command is lost. fix/workaround disable the pdca, insert 2 nops, disable spi. to continue the transfer: enable spi, enable pdca. - power manager 1. if the bod level is higher than vddcore, the part is constantly resetted if the bod level is set to a value higher than vddcore and ena bled by fuses, the part will be in constant reset. fix/workaround apply an external voltage on vddcore that is higher than the bod le vel and is lower than vddcore max and disable the bod. 2. when the main clock is rcsys, ti mer_clock5 is eq ual to pba clock when the main clock is gen erated from rcsys, timer_cl ock5 is equal to pba clock and not pba clock / 128. fix/workaround none. 3. clock sources will not be stopped in static sleep mode if the difference between cpu and pbx division factor is too high if the division factor between the cpu/hsb and pbx frequencies is more than 4 when going to a sleep mode where the system rc oscillator is turned off, then high speed clock sources
64 32059k?03/2011 at32uc3b will not be turned off. this will result in a significantly higher power consumption during the sleep mode. fix/workaround before going to sleep modes w here the system rc oscillator is stopped, make sure that the factor between the cpu/hsb and pbx frequencies is less than or equal to 4. 4. increased power consunption in vddio in sleep modes if the osc0 is enabled in crystal mode when entering a sleep mode where the osc0 is dis- abled, this will lead to an increased power consumption in vddio. fix/workaround disable the osc0 through the power manager (pm) before going to any sleep mode where the osc0 is disabled, or pull down or up xin0 and xout0 with 1mohm resistor. - ssc 1. additional delay on td output a delay from 2 to 3 system clock cycles is added to td output when: tcmr.start = receive start, tcmr.sttdly = more than zero, rcmr.start = start on falling edge / start on rising edge / start on any edge, rfmr.fsos = none (input). fix/workaround none. 2. tf output is not correct tf output is not correct (at least emitted one serial clock cycle later than expected) when: tfmr.fsos = driven low during data transfer/ driven high during data transfer tcmr.start = receive start rfmr.fsos = none (input) rcmr.start = any on rf (edge/level) fix/workaround none. 3. frame synchro and frame synchro data are delayed by one clock cycle the frame synchro and the frame synchro data are delayed from 1 ssc_clock when: - clock is ckdiv - the start is selected on either a frame synchro edge or a level - frame synchro data is enabled - transmit clock is gated on output (through cko field) fix/workaround transmit or receive clock must not be gated (by the mean of cko field) when start condition is performed on a generated frame synchro.
65 32059k?03/2011 at32uc3b - usb 1. upcfgn.intfrq is irrelevant for isochronous pipe as a consequence, isochronous in and out tokens are sent every 1 ms (full speed), or every 125 us (high speed). fix/workaround forhigher polling time, the softwa re must freeze the pipe for the desired period in order to prevent any "extra" token. - adc 1. sleep mode activation needs addtionnal a to d conversion if the adc sleep mode is activated when the ad c is idle the adc w ill not enter sleep mode before after the next ad conversion. fix/workaround activate the sleep mode in the mode register and then perform an ad conversion. - pdca 1. wrong pdca behavior when using tw o pdca channels with the same pid wrong pdca behavior when using two pdca channels with the same pid. fix/workaround the same pid should not be assigned to more than one channel. 2. transfer error will stall a transmit peripheral handshake interface if a tranfer error is encountered on a channel transmitting to a peripheral, the peripheral handshake of the acti ve channel will stall and the pdca will not do any more transfers on the affected peripheral handshake interface. fix/workaround disable and then enable the peripheral after the transfer error. - twi 1. the twi rxrdy flag in sr register is not reset when a software reset is performed the twi rxrdy flag in sr register is not reset when a software reset is performed. fix/workaround after a software reset, the regi ster twi rhr must be read. 2. twi in master mode will continue to read data twi in master mode will continue to read data on the line even if the shift register and the rhr register are full. this w ill generate an overrun error. fix/workaround to prevent this, read the rhr register as soon as a new rx data is ready. 3. twi slave behaves improperly if master acknowledges the last transmitted data byte before a stop condition in i2c slave transmitter mode, if the master acknowledges the last data byte before a stop condition (what the master is not supposed to do), the following twi slave receiver mode frame may contain an inappropriate clock stretch. this clock stretch can only be stopped by resetting the twi. fix/workaround if the twi is used as a slave transmitter with a master that acknowledges the last data byte before a stop condition, it is necessary to reset the twi beforeentering slave receiver mode.
66 32059k?03/2011 at32uc3b - tc 1. channel chaining skips first pulse for upper channel when chaining two channels using the block mode register, the first pulse of the clock between the channels is skipped. fix/workaround configure the lower channel with ra = 0x1 and rc = 0x2 to produce a dummy clock cycle for the upper channel. after the dummy cycle has been generated, indicated by the sr.cpcs bit, reconfigure the ra and rc registers for the lower channel with the real values. - processor and architecture 1. ldm instruction with pc in the register list and without ++ increments rp for ldm with pc in the register list: the instruction behaves as if the ++ field is always set, ie the pointer is alwa ys updated. this happens even if the ++ field is cleared. specifically, the increment of the pointer is done in parallel with the testing of r12. fix/workaround none. 2. rete instruction does not clear sreg[l] from interrupts the rete instruction clears sreg[l] as expected from exceptions. fix/workaround when using the stcond instruct ion, clear sreg[l] in the stacked value of sr before returning from interrupts with rete. 3. privilege violation when using interrupts in application mode with protected system stack if the system stack is protected by the mpu and an interrupt occurs in application mode, an mpu dtlb exception will occur. fix/workaround make a dtlb protection (write) exception handler which permits the interrupt request to be handled in privileged mode. - usart 1. iso7816 info register us_ner cannot be read the ner register always returns zero. fix/workaround none. 2. iso7816 mode t1: rx impossible after any tx rx impossible after any tx. fix/workaround soft_reset on rx+ config us_mr + config_us_cr. 3. the rts output does not function correctly in hardware handshaking mode the rts signal is not generated properly when the usart receives data in hardware hand- shaking mode. when the peripheral dma receive buffer becomes full, the rts output should go high, bu t it will stay low. fix/workaround do not use the hardware handshaking mode of the usart. if it is necessary to drive the rts output high when the peripheral dma receive buffer becomes full, use the normal mode of the usart. configure the peripheral dma controller to signal an interrupt when
67 32059k?03/2011 at32uc3b the receive buffer is full. in the interrupt handler code, write a one to the rtsdis bit in the usart control register (cr). this will drive th e rts output high. afte r the next dma trans- fer is started and a receive buffer is available, write a one to the rtsen bit in the usart cr so that rts will be driven low. 4. corruption after receiving too many bits in spi slave mode if the usart is in spi slave mode and receives too much data bits (ex: 9bitsinstead of 8 bits) by the the spi master, an error occurs . after that, the next reception may be corrupted even if the frame is correct and the usart has been disabled, reseted by a soft reset and re-enabled. fix/workaround none. 5. usart slave synchronous mode external clock must be at least 9 times lower in fre- quency than clk_usart when the usart is operating in slave synchronous mode with an external clock, the fre- quency of the signal provided on clk must be at least 9 times lower than clk_usart. fix/workaround when the usart is operating in slave synchro nous mode with an external clock, provide a signal on clk that has a frequency at least 9 times lower than clk_usart. - hmatrix 1. in the hmatrix pras and prbs regi sters mxpr fields are only two bits in the hmatrix pras and prbs registers mxpr fields are only two bits wide, instead of four bits. the unused bits are undefined when reading the registers. fix/workaround mask undefined bits when reading pras and prbs. - dsp operations 1. instruction breakpoints affected on all mac instruction hardware breakpoints on mac instructions may corrupt the destination register of the mac instruction. fix/workaround place breakpoints on earlier or later instructions.
68 32059k?03/2011 at32uc3b 12.1.2 rev c - pwm 1. pwm channel interrupt enabling triggers an interrupt when enabling a pwm channel that is configured with center aligned period (calg=1), an interrupt is signalled. fix/workaround when using center aligned mode, enable the channel and read the status before channel interrupt is enabled. 2. pwn counter restarts at 0x0001 the pwm counter restarts at 0x0001 and not 0x0000 as specified. because of this the first pwm period has one more clock cycle. fix/workaround - the first period is 0x0000, 0x0001, ..., period. - consecutive periods are 0x0001, 0x0002, ..., period. 3. pwm update period to a 0 value does not work it is impossible to update a period equal to 0 by the using the pwm update register (pwm_cupd). fix/workaround do not update the pwm_cupd register with a value equal to 0. - spi 1. spi slave / pdca tran sfer: no tx underrun flag there is no tx underrun flag available, ther efore in spi slave mode, there is no way to be informed of a character lost in transmission. fix/workaround for pdca transfer: none. 2. spi bad serial clock generation on 2nd chip_select when scbr = 1, cpol=1 and ncpha=0 when multiple cs are in use, if one of the baudrate equals to 1 and one of the others doesn't equal to 1, and cpol=1 and cpha=0, then an aditional pulse will be generated on sck. fix/workaround when multiple cs are in use, if one of the baudrate equals 1, the other must also equal 1 if cpol=1 and cpha=0. 3. spi glitch on rxready flag in slave mode when enabling the spi or during the first transfer in slave mode, the spi can generate a false rxready signal during enabling of the spi or during the first transfer. fix/workaround 1. set slave mode, set required cpol/cpha. 2. enable spi. 3. set the polarity cpol of the line in the opposite value of the required one. 4. set the polarity cpol to the required one. 5. read the rxholding register. transfers can now befin and rxr eady will now behave as expected.
69 32059k?03/2011 at32uc3b 4. spi disable does not work in slave mode spi disable does not work in slave mode. fix/workaround read the last received data, then perform a software reset. 5. spi data transfer hangs with csr0.csaat==1 and mr.modfdis==0 when csr0.csaat==1 and mode fault detection is enabled (mr.modfdis==0), the spi module will not start a data transfer. fix/workaround disable mode fault detection by writing a one to mr.modfdis. 6. disabling spi has no effect on flag tdre flag disabling spi has no effect on tdre whereas the write data command is filtered when spi is disabled. this means that as soon as the spi is disabled it becomes impossible to reset the tdre flag by writing in the tdr. so if the spi is disabled during a pdca transfer, the pdca will continue to write data in the tdr (as tdre stays hi gh) until its buffer is empty, and all data written after the disable command is lost. fix/workaround disable the pdca, insert 2 nops, disable spi. to continue the transfer: enable spi, enable pdca. - power manager 1. if the bod level is higher than vddcore, the part is constantly resetted if the bod level is set to a value higher than vddcore and ena bled by fuses, the part will be in constant reset. fix/workaround apply an external voltage on vddcore that is higher than the bod le vel and is lower than vddcore max and disable the bod. 2. when the main clock is rcsys, ti mer_clock5 is eq ual to pba clock when the main clock is gen erated from rcsys, timer_cl ock5 is equal to pba clock and not pba clock / 128. fix/workaround none. 3. vddcore power supply input needs to be 1.95v when used in dual power supply, vddcore needs to be 1.95v. fix/workaround when used in single power supply, vddcore ne eds to be connected to vddout, which is configured on revision c at 1.95v (typ.). 4. clock sources will not be stopped in static sleep mode if the difference between cpu and pbx division factor is too high if the division factor between the cpu/hsb and pbx frequencies is more than 4 when going to a sleep mode where the system rc oscillator is turned off, then high speed clock sources will not be turned off. this will result in a significantly higher power consumption during the sleep mode. fix/workaround before going to sleep modes w here the system rc oscillator is stopped, make sure that the factor between the cpu/hsb and pbx frequencies is less than or equal to 4.
70 32059k?03/2011 at32uc3b 5. increased power consunption in vddio in sleep modes if the osc0 is enabled in crystal mode when entering a sleep mode where the osc0 is dis- abled, this will lead to an increased power consumption in vddio. fix/workaround disable the osc0 through the power manager (pm) before going to any sleep mode where the osc0 is disabled, or pull down or up xin0 and xout0 with 1mohm resistor. - ssc 1. additional delay on td output a delay from 2 to 3 system clock cycles is added to td output when: tcmr.start = receive start, tcmr.sttdly = more than zero, rcmr.start = start on falling edge / start on rising edge / start on any edge, rfmr.fsos = none (input). fix/workaround none. 2. tf output is not correct tf output is not correct (at least emitted one serial clock cycle later than expected) when: tfmr.fsos = driven low during data transfer/ driven high during data transfer tcmr.start = receive start rfmr.fsos = none (input) rcmr.start = any on rf (edge/level) fix/workaround none. 3. frame synchro and frame synchro data are delayed by one clock cycle the frame synchro and the frame synchro data are delayed from 1 ssc_clock when: - clock is ckdiv - the start is selected on either a frame synchro edge or a level - frame synchro data is enabled - transmit clock is gated on output (through cko field) fix/workaround transmit or receive clock must not be gated (by the mean of cko field) when start condition is performed on a generated frame synchro. - usb 1. upcfgn.intfrq is irrelevant for isochronous pipe as a consequence, isochronous in and out tokens are sent every 1 ms (full speed), or every 125 us (high speed). fix/workaround forhigher polling time, the softwa re must freeze the pipe for the desired period in order to prevent any "extra" token. - adc 1. sleep mode activation needs addtionnal a to d conversion if the adc sleep mode is activated when the ad c is idle the adc w ill not enter sleep mode before after the next ad conversion. fix/workaround activate the sleep mode in the mode register and then perform an ad conversion.
71 32059k?03/2011 at32uc3b - pdca 1. wrong pdca behavior when using tw o pdca channels with the same pid wrong pdca behavior when using two pdca channels with the same pid. fix/workaround the same pid should not be assigned to more than one channel. 2. transfer error will stall a transmit peripheral handshake interface if a tranfer error is encountered on a channel transmitting to a peripheral, the peripheral handshake of the acti ve channel will stall and the pdca will not do any more transfers on the affected peripheral handshake interface. fix/workaround disable and then enable the peripheral after the transfer error. - twi 1. the twi rxrdy flag in sr register is not reset when a software reset is performed the twi rxrdy flag in sr register is not reset when a software reset is performed. fix/workaround after a software reset, the regi ster twi rhr must be read. 2. twi in master mode will continue to read data twi in master mode will continue to read data on the line even if the shift register and the rhr register are full. this w ill generate an overrun error. fix/workaround to prevent this, read the rhr register as soon as a new rx data is ready. 3. twi slave behaves improperly if master acknowledges the last transmitted data byte before a stop condition in i2c slave transmitter mode, if the master acknowledges the last data byte before a stop condition (what the master is not supposed to do), the following twi slave receiver mode frame may contain an inappropriate clock stretch. this clock stretch can only be stopped by resetting the twi. fix/workaround if the twi is used as a slave transmitter with a master that acknowledges the last data byte before a stop condition, it is necessary to reset the twi beforeentering slave receiver mode. - tc 1. channel chaining skips first pulse for upper channel when chaining two channels using the block mode register, the first pulse of the clock between the channels is skipped. fix/workaround configure the lower channel with ra = 0x1 and rc = 0x2 to produce a dummy clock cycle for the upper channel. after the dummy cycle has been generated, indicated by the sr.cpcs bit, reconfigure the ra and rc registers for the lower channel with the real values.
72 32059k?03/2011 at32uc3b - processor and architecture 1. ldm instruction with pc in the register list and without ++ increments rp for ldm with pc in the register list: the instruction behaves as if the ++ field is always set, ie the pointer is alwa ys updated. this happens even if the ++ field is cleared. specifically, the increment of the pointer is done in parallel with the testing of r12. fix/workaround none. 2. rete instruction does not clear sreg[l] from interrupts the rete instruction clears sreg[l] as expected from exceptions. fix/workaround when using the stcond instruct ion, clear sreg[l] in the stacked value of sr before returning from interrupts with rete. 3. privilege violation when using interrupts in application mode with protected system stack if the system stack is protected by the mpu and an interrupt occurs in application mode, an mpu dtlb exception will occur. fix/workaround make a dtlb protection (write) exception handler which permits the interrupt request to be handled in privileged mode. - flash 1. reset vector is 80000020h rather than 80000000h reset vector is 80000020h rather than 80000000h. fix/workaround the flash program code must start at the address 80000020h. the flash memory range 80000000h-80000020h must be programmed with 00000000h. - usart 1. iso7816 info register us_ner cannot be read the ner register always returns zero. fix/workaround none. 2. iso7816 mode t1: rx impossible after any tx rx impossible after any tx. fix/workaround soft_reset on rx+ config us_mr + config_us_cr. 3. the rts output does not function correctly in hardware handshaking mode the rts signal is not generated properly when the usart receives data in hardware hand- shaking mode. when the peripheral dma receive buffer becomes full, the rts output should go high, bu t it will stay low. fix/workaround do not use the hardware handshaking mode of the usart. if it is necessary to drive the rts output high when the peripheral dma receive buffer becomes full, use the normal mode of the usart. configure the peripheral dma controller to signal an interrupt when the receive buffer is full. in the interrupt handler code, write a one to the rtsdis bit in the usart control register (cr). this will drive th e rts output high. afte r the next dma trans-
73 32059k?03/2011 at32uc3b fer is started and a receive buffer is available, write a one to the rtsen bit in the usart cr so that rts will be driven low. 4. corruption after receiving too many bits in spi slave mode if the usart is in spi slave mode and receives too much data bits (ex: 9bitsinstead of 8 bits) by the the spi master, an error occurs . after that, the next reception may be corrupted even if the frame is correct and the usart has been disabled, reseted by a soft reset and re-enabled. fix/workaround none. 5. usart slave synchronous mode external clock must be at least 9 times lower in fre- quency than clk_usart when the usart is operating in slave synchronous mode with an external clock, the fre- quency of the signal provided on clk must be at least 9 times lower than clk_usart. fix/workaround when the usart is operating in slave synchro nous mode with an external clock, provide a signal on clk that has a frequency at least 9 times lower than clk_usart. - hmatrix 1. in the hmatrix pras and prbs regi sters mxpr fields are only two bits in the hmatrix pras and prbs registers mxpr fields are only two bits wide, instead of four bits. the unused bits are undefined when reading the registers. fix/workaround mask undefined bits when reading pras and prbs. - dsp operations 1. instruction breakpoints affected on all mac instruction hardware breakpoints on mac instructions may corrupt the destination register of the mac instruction. fix/workaround place breakpoints on earlier or later instructions.
74 32059k?03/2011 at32uc3b 12.2 at32uc3b0256, at32uc3 b0128, at32uc3b064, at32u c3b1256, AT32UC3B1128, at32uc3b164 all industrial parts labelled with -ues (for engineering samples) are revision b parts. 12.2.1 rev i, j, k - pwm 1. pwm channel interrupt enabling triggers an interrupt when enabling a pwm channel that is configured with center aligned period (calg=1), an interrupt is signalled. fix/workaround when using center aligned mode, enable the channel and read the status before channel interrupt is enabled. 2. pwn counter restarts at 0x0001 the pwm counter restarts at 0x0001 and not 0x0000 as specified. because of this the first pwm period has one more clock cycle. fix/workaround - the first period is 0x0000, 0x0001, ..., period. - consecutive periods are 0x0001, 0x0002, ..., period. 3. pwm update period to a 0 value does not work it is impossible to update a period equal to 0 by the using the pwm update register (pwm_cupd). fix/workaround do not update the pwm_cupd register with a value equal to 0. - spi 1. spi slave / pdca tran sfer: no tx underrun flag there is no tx underrun flag available, ther efore in spi slave mode, there is no way to be informed of a character lost in transmission. fix/workaround for pdca transfer: none. 2. spi bad serial clock generation on 2nd chip_select when scbr = 1, cpol=1 and ncpha=0 when multiple cs are in use, if one of the baudrate equals to 1 and one of the others doesn't equal to 1, and cpol=1 and cpha=0, then an aditional pulse will be generated on sck. fix/workaround when multiple cs are in use, if one of the baudrate equals 1, the other must also equal 1 if cpol=1 and cpha=0. 3. spi glitch on rxready flag in slave mode when enabling the spi or during the first transfer in slave mode, the spi can generate a false rxready signal during enabling of the spi or during the first transfer. fix/workaround 1. set slave mode, set required cpol/cpha. 2. enable spi. 3. set the polarity cpol of the line in the opposite value of the required one.
75 32059k?03/2011 at32uc3b 4. set the polarity cpol to the required one. 5. read the rxholding register. transfers can now befin and rxr eady will now behave as expected. 4. spi disable does not work in slave mode spi disable does not work in slave mode. fix/workaround read the last received data, then perform a software reset. 5. spi data transfer hangs with csr0.csaat==1 and mr.modfdis==0 when csr0.csaat==1 and mode fault detection is enabled (mr.modfdis==0), the spi module will not start a data transfer. fix/workaround disable mode fault detection by writing a one to mr.modfdis. 6. disabling spi has no effect on flag tdre flag disabling spi has no effect on tdre whereas the write data command is filtered when spi is disabled. this means that as soon as the spi is disabled it becomes impossible to reset the tdre flag by writing in the tdr. so if the spi is disabled during a pdca transfer, the pdca will continue to write data in the tdr (as tdre stays hi gh) until its buffer is empty, and all data written after the disable command is lost. fix/workaround disable the pdca, insert 2 nops, disable spi. to continue the transfer: enable spi, enable pdca. - power manager 1. if the bod level is higher than vddcore, the part is constantly resetted if the bod level is set to a value higher than vddcore and ena bled by fuses, the part will be in constant reset. fix/workaround apply an external voltage on vddcore that is higher than the bod le vel and is lower than vddcore max and disable the bod. 1. when the main clock is rcsys, ti mer_clock5 is eq ual to pba clock when the main clock is gen erated from rcsys, timer_cl ock5 is equal to pba clock and not pba clock / 128. fix/workaround none. 2. clock sources will not be stopped in static sleep mode if the difference between cpu and pbx division factor is too high if the division factor between the cpu/hsb and pbx frequencies is more than 4 when going to a sleep mode where the system rc oscillator is turned off, then high speed clock sources will not be turned off. this will result in a significantly higher power consumption during the sleep mode. fix/workaround before going to sleep modes w here the system rc oscillator is stopped, make sure that the factor between the cpu/hsb and pbx frequencies is less than or equal to 4.
76 32059k?03/2011 at32uc3b - ssc 1. additional delay on td output a delay from 2 to 3 system clock cycles is added to td output when: tcmr.start = receive start, tcmr.sttdly = more than zero, rcmr.start = start on falling edge / start on rising edge / start on any edge, rfmr.fsos = none (input). fix/workaround none. 2. tf output is not correct tf output is not correct (at least emitted one serial clock cycle later than expected) when: tfmr.fsos = driven low during data transfer/ driven high during data transfer tcmr.start = receive start rfmr.fsos = none (input) rcmr.start = any on rf (edge/level) fix/workaround none. 3. frame synchro and frame synchro data are delayed by one clock cycle the frame synchro and the frame synchro data are delayed from 1 ssc_clock when: - clock is ckdiv - the start is selected on either a frame synchro edge or a level - frame synchro data is enabled - transmit clock is gated on output (through cko field) fix/workaround transmit or receive clock must not be gated (by the mean of cko field) when start condition is performed on a generated frame synchro. - usb 1. upcfgn.intfrq is irrelevant for isochronous pipe as a consequence, isochronous in and out tokens are sent every 1 ms (full speed), or every 125 us (high speed). fix/workaround forhigher polling time, the softwa re must freeze the pipe for the desired period in order to prevent any "extra" token. - adc 1. sleep mode activation needs addtionnal a to d conversion if the adc sleep mode is activated when the ad c is idle the adc w ill not enter sleep mode before after the next ad conversion. fix/workaround activate the sleep mode in the mode register and then perform an ad conversion. - pdca 1. wrong pdca behavior when using tw o pdca channels with the same pid wrong pdca behavior when using two pdca channels with the same pid. fix/workaround the same pid should not be assigned to more than one channel.
77 32059k?03/2011 at32uc3b 2. transfer error will stall a transmit peripheral handshake interface if a tranfer error is encountered on a channel transmitting to a peripheral, the peripheral handshake of the acti ve channel will stall and the pdca will not do any more transfers on the affected peripheral handshake interface. fix/workaround disable and then enable the peripheral after the transfer error. - twi 1. the twi rxrdy flag in sr register is not reset when a software reset is performed the twi rxrdy flag in sr register is not reset when a software reset is performed. fix/workaround after a software reset, the regi ster twi rhr must be read. 2. twi in master mode will continue to read data twi in master mode will continue to read data on the line even if the shift register and the rhr register are full. this w ill generate an overrun error. fix/workaround to prevent this, read the rhr register as soon as a new rx data is ready. 3. twi slave behaves improperly if master acknowledges the last transmitted data byte before a stop condition in i2c slave transmitter mode, if the master acknowledges the last data byte before a stop condition (what the master is not supposed to do), the following twi slave receiver mode frame may contain an inappropriate clock stretch. this clock stretch can only be stopped by resetting the twi. fix/workaround if the twi is used as a slave transmitter with a master that acknowledges the last data byte before a stop condition, it is necessary to reset the twi beforeentering slave receiver mode. - tc 1. channel chaining skips first pulse for upper channel when chaining two channels using the block mode register, the first pulse of the clock between the channels is skipped. fix/workaround configure the lower channel with ra = 0x1 and rc = 0x2 to produce a dummy clock cycle for the upper channel. after the dummy cycle has been generated, indicated by the sr.cpcs bit, reconfigure the ra and rc registers for the lower channel with the real values. - ocd 1. the auxiliary trace does not work for cpu/hsb speed higher than 50mhz the auxiliary trace does not work for cpu/hsb speed higher than 50mhz. fix/workaround do not use the auxiliary trace for cpu/hsb speed higher than 50mhz.
78 32059k?03/2011 at32uc3b - processor and architecture 1. ldm instruction with pc in the register list and without ++ increments rp for ldm with pc in the register list: the instruction behaves as if the ++ field is always set, ie the pointer is alwa ys updated. this happens even if the ++ field is cleared. specifically, the increment of the pointer is done in parallel with the testing of r12. fix/workaround none. 2. rete instruction does not clear sreg[l] from interrupts the rete instruction clears sreg[l] as expected from exceptions. fix/workaround when using the stcond instruct ion, clear sreg[l] in the stacked value of sr before returning from interrupts with rete. 3. privilege violation when using interrupts in application mode with protected system stack if the system stack is protected by the mpu and an interrupt occurs in application mode, an mpu dtlb exception will occur. fix/workaround make a dtlb protection (write) exception handler which permits the interrupt request to be handled in privileged mode. - usart 1. iso7816 info register us_ner cannot be read the ner register always returns zero. fix/workaround none. 2. iso7816 mode t1: rx impossible after any tx rx impossible after any tx. fix/workaround soft_reset on rx+ config us_mr + config_us_cr. 3. the rts output does not function correctly in hardware handshaking mode the rts signal is not generated properly when the usart receives data in hardware hand- shaking mode. when the peripheral dma receive buffer becomes full, the rts output should go high, bu t it will stay low. fix/workaround do not use the hardware handshaking mode of the usart. if it is necessary to drive the rts output high when the peripheral dma receive buffer becomes full, use the normal mode of the usart. configure the peripheral dma controller to signal an interrupt when the receive buffer is full. in the interrupt handler code, write a one to the rtsdis bit in the usart control register (cr). this will drive th e rts output high. afte r the next dma trans- fer is started and a receive buffer is available, write a one to the rtsen bit in the usart cr so that rts will be driven low. 4. corruption after receiving too many bits in spi slave mode if the usart is in spi slave mode and receives too much data bits (ex: 9bitsinstead of 8 bits) by the the spi master, an error occurs . after that, the next reception may be corrupted
79 32059k?03/2011 at32uc3b even if the frame is correct and the usart has been disabled, reseted by a soft reset and re-enabled. fix/workaround none. 5. usart slave synchronous mode external clock must be at least 9 times lower in fre- quency than clk_usart when the usart is operating in slave synchronous mode with an external clock, the fre- quency of the signal provided on clk must be at least 9 times lower than clk_usart. fix/workaround when the usart is operating in slave synchro nous mode with an external clock, provide a signal on clk that has a frequency at least 9 times lower than clk_usart. - hmatrix 1. in the hmatrix pras and prbs regi sters mxpr fields are only two bits in the hmatrix pras and prbs registers mxpr fields are only two bits wide, instead of four bits. the unused bits are undefined when reading the registers. fix/workaround mask undefined bits when reading pras and prbs. - flashc 1. reading from on-chip flash may fail after a flash fuse write operation (flashc lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands). after a flash fuse write operation (flash c lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands), the following flash read access may return corrupted data. this erratum does not affect write operations to regular flash memory. fix/workaround the flash fuse write operation (flashc lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands) must be issued from internal ram. after the write operation, perform a dummy flash page write operation (flashc wp). content and location of this page is not important and filling the write buffer with a ll one (ffh) will leave the current flash content unchanged. it is then safe to read and fetch code from the flash. - dsp operations 1. instruction breakpoints affected on all mac instruction hardware breakpoints on mac instructions may corrupt the destination register of the mac instruction. fix/workaround place breakpoints on earlier or later instructions.
80 32059k?03/2011 at32uc3b 12.2.2 rev. g - pwm 1. pwm channel interrupt enabling triggers an interrupt when enabling a pwm channel that is configured with center aligned period (calg=1), an interrupt is signalled. fix/workaround when using center aligned mode, enable the channel and read the status before channel interrupt is enabled. 2. pwn counter restarts at 0x0001 the pwm counter restarts at 0x0001 and not 0x0000 as specified. because of this the first pwm period has one more clock cycle. fix/workaround - the first period is 0x0000, 0x0001, ..., period. - consecutive periods are 0x0001, 0x0002, ..., period. 3. pwm update period to a 0 value does not work it is impossible to update a period equal to 0 by the using the pwm update register (pwm_cupd). fix/workaround do not update the pwm_cupd register with a value equal to 0. - spi 1. spi slave / pdca tran sfer: no tx underrun flag there is no tx underrun flag available, ther efore in spi slave mode, there is no way to be informed of a character lost in transmission. fix/workaround for pdca transfer: none. 2. spi bad serial clock generation on 2nd chip_select when scbr = 1, cpol=1 and ncpha=0 when multiple cs are in use, if one of the baudrate equals to 1 and one of the others doesn't equal to 1, and cpol=1 and cpha=0, then an aditional pulse will be generated on sck. fix/workaround when multiple cs are in use, if one of the baudrate equals 1, the other must also equal 1 if cpol=1 and cpha=0. 3. spi glitch on rxready flag in slave mode when enabling the spi or during the first transfer in slave mode, the spi can generate a false rxready signal during enabling of the spi or during the first transfer. fix/workaround 1. set slave mode, set required cpol/cpha. 2. enable spi. 3. set the polarity cpol of the line in the opposite value of the required one. 4. set the polarity cpol to the required one. 5. read the rxholding register. transfers can now befin and rxr eady will now behave as expected.
81 32059k?03/2011 at32uc3b 4. spi disable does not work in slave mode spi disable does not work in slave mode. fix/workaround read the last received data, then perform a software reset. 5. spi data transfer hangs with csr0.csaat==1 and mr.modfdis==0 when csr0.csaat==1 and mode fault detection is enabled (mr.modfdis==0), the spi module will not start a data transfer. fix/workaround disable mode fault detection by writing a one to mr.modfdis. 6. disabling spi has no effect on flag tdre flag disabling spi has no effect on tdre whereas the write data command is filtered when spi is disabled. this means that as soon as the spi is disabled it becomes impossible to reset the tdre flag by writing in the tdr. so if the spi is disabled during a pdca transfer, the pdca will continue to write data in the tdr (as tdre stays hi gh) until its buffer is empty, and all data written after the disable command is lost. fix/workaround disable the pdca, insert 2 nops, disable spi. to continue the transfer: enable spi, enable pdca. - power manager 1. if the bod level is higher than vddcore, the part is constantly resetted if the bod level is set to a value higher than vddcore and ena bled by fuses, the part will be in constant reset. fix/workaround apply an external voltage on vddcore that is higher than the bod le vel and is lower than vddcore max and disable the bod. 2. when the main clock is rcsys, ti mer_clock5 is eq ual to pba clock when the main clock is gen erated from rcsys, timer_cl ock5 is equal to pba clock and not pba clock / 128. fix/workaround none. 2. clock sources will not be stopped in static sleep mode if the difference between cpu and pbx division factor is too high if the division factor between the cpu/hsb and pbx frequencies is more than 4 when going to a sleep mode where the system rc oscillator is turned off, then high speed clock sources will not be turned off. this will result in a significantly higher power consumption during the sleep mode. fix/workaround before going to sleep modes w here the system rc oscillator is stopped, make sure that the factor between the cpu/hsb and pbx frequencies is less than or equal to 4. 3. increased power consunption in vddio in sleep modes if the osc0 is enabled in crystal mode when entering a sleep mode where the osc0 is dis- abled, this will lead to an increased power consumption in vddio. fix/workaround disable the osc0 through the system control interface (scif) before going to any sleep mode where the osc0 is disabled, or pull down or up xin0 and xout0 with 1 mohm resistor.
82 32059k?03/2011 at32uc3b - ssc 1. additional delay on td output a delay from 2 to 3 system clock cycles is added to td output when: tcmr.start = receive start, tcmr.sttdly = more than zero, rcmr.start = start on falling edge / start on rising edge / start on any edge, rfmr.fsos = none (input). fix/workaround none. 2. tf output is not correct tf output is not correct (at least emitted one serial clock cycle later than expected) when: tfmr.fsos = driven low during data transfer/ driven high during data transfer tcmr.start = receive start rfmr.fsos = none (input) rcmr.start = any on rf (edge/level) fix/workaround none. 3. frame synchro and frame synchro data are delayed by one clock cycle the frame synchro and the frame synchro data are delayed from 1 ssc_clock when: - clock is ckdiv - the start is selected on either a frame synchro edge or a level - frame synchro data is enabled - transmit clock is gated on output (through cko field) fix/workaround transmit or receive clock must not be gated (by the mean of cko field) when start condition is performed on a generated frame synchro. - usb 1. upcfgn.intfrq is irrelevant for isochronous pipe as a consequence, isochronous in and out tokens are sent every 1 ms (full speed), or every 125 us (high speed). fix/workaround forhigher polling time, the softwa re must freeze the pipe for the desired period in order to prevent any "extra" token. - adc 1. sleep mode activation needs addtionnal a to d conversion if the adc sleep mode is activated when the ad c is idle the adc w ill not enter sleep mode before after the next ad conversion. fix/workaround activate the sleep mode in the mode register and then perform an ad conversion. - pdca 1. wrong pdca behavior when using tw o pdca channels with the same pid wrong pdca behavior when using two pdca channels with the same pid. fix/workaround the same pid should not be assigned to more than one channel.
83 32059k?03/2011 at32uc3b 2. transfer error will stall a transmit peripheral handshake interface if a tranfer error is encountered on a channel transmitting to a peripheral, the peripheral handshake of the acti ve channel will stall and the pdca will not do any more transfers on the affected peripheral handshake interface. fix/workaround disable and then enable the peripheral after the transfer error. - twi 1. the twi rxrdy flag in sr register is not reset when a software reset is performed the twi rxrdy flag in sr register is not reset when a software reset is performed. fix/workaround after a software reset, the regi ster twi rhr must be read. 2. twi in master mode will continue to read data twi in master mode will continue to read data on the line even if the shift register and the rhr register are full. this w ill generate an overrun error. fix/workaround to prevent this, read the rhr register as soon as a new rx data is ready. 3. twi slave behaves improperly if master acknowledges the last transmitted data byte before a stop condition in i2c slave transmitter mode, if the master acknowledges the last data byte before a stop condition (what the master is not supposed to do), the following twi slave receiver mode frame may contain an inappropriate clock stretch. this clock stretch can only be stopped by resetting the twi. fix/workaround if the twi is used as a slave transmitter with a master that acknowledges the last data byte before a stop condition, it is necessary to reset the twi beforeentering slave receiver mode. - gpio 1. pa29 (twi sda) and pa30 (twi scl) gpio vih (input high voltage) is 3.6v max instead of 5v tolerant the following gpios are not 5v tolerant : pa29 and pa30. fix/workaround none. - tc 1. channel chaining skips first pulse for upper channel when chaining two channels using the block mode register, the first pulse of the clock between the channels is skipped. fix/workaround configure the lower channel with ra = 0x1 and rc = 0x2 to produce a dummy clock cycle for the upper channel. after the dummy cycle has been generated, indicated by the sr.cpcs bit, reconfigure the ra and rc registers for the lower channel with the real values.
84 32059k?03/2011 at32uc3b - ocd 1. the auxiliary trace does not work for cpu/hsb speed higher than 50mhz the auxiliary trace does not work for cpu/hsb speed higher than 50mhz. fix/workaround do not use the auxiliary trace for cpu/hsb speed higher than 50mhz. - processor and architecture 1. ldm instruction with pc in the register list and without ++ increments rp for ldm with pc in the register list: the instruction behaves as if the ++ field is always set, ie the pointer is alwa ys updated. this happens even if the ++ field is cleared. specifically, the increment of the pointer is done in parallel with the testing of r12. fix/workaround none. 2. rete instruction does not clear sreg[l] from interrupts the rete instruction clears sreg[l] as expected from exceptions. fix/workaround when using the stcond instruct ion, clear sreg[l] in the stacked value of sr before returning from interrupts with rete. 3. exceptions when system stack is protected by mpu rets behaves incorrectly when mpu is en abled and mpu is configured so thatsystem stack is not readable in unprivileged mode. fix/workaround workaround 1: make system stack readable in unprivileged mode, or workaround 2: return from supervisor mode using rete instead of rets. this requires: 1. changing the mode bits from 001b to 110b before issuing the instruction. updating the mode bits to the desired value must be done using a single mtsr instruction so it is done atomically. even if this step is described in general as not safe in the uc technical reference guide, it is safe in th is very specific case. 2. execute the rete instruction. 4. privilege violation when using interrupts in application mode with protected system stack if the system stack is protected by the mpu and an interrupt occurs in application mode, an mpu dtlb exception will occur. fix/workaround make a dtlb protection (write) exception handler which permits the interrupt request to be handled in privileged mode. - usart 1. iso7816 info register us_ner cannot be read the ner register always returns zero. fix/workaround none. 2. iso7816 mode t1: rx impossible after any tx rx impossible after any tx. fix/workaround soft_reset on rx+ config us_mr + config_us_cr.
85 32059k?03/2011 at32uc3b 3. the rts output does not function correctly in hardware handshaking mode the rts signal is not generated properly when the usart receives data in hardware hand- shaking mode. when the peripheral dma receive buffer becomes full, the rts output should go high, bu t it will stay low. fix/workaround do not use the hardware handshaking mode of the usart. if it is necessary to drive the rts output high when the peripheral dma receive buffer becomes full, use the normal mode of the usart. configure the peripheral dma controller to signal an interrupt when the receive buffer is full. in the interrupt handler code, write a one to the rtsdis bit in the usart control register (cr). this will drive th e rts output high. afte r the next dma trans- fer is started and a receive buffer is available, write a one to the rtsen bit in the usart cr so that rts will be driven low. 4. corruption after receiving too many bits in spi slave mode if the usart is in spi slave mode and receives too much data bits (ex: 9bitsinstead of 8 bits) by the the spi master, an error occurs . after that, the next reception may be corrupted even if the frame is correct and the usart has been disabled, reseted by a soft reset and re-enabled. fix/workaround none. 5. usart slave synchronous mode external clock must be at least 9 times lower in fre- quency than clk_usart when the usart is operating in slave synchronous mode with an external clock, the fre- quency of the signal provided on clk must be at least 9 times lower than clk_usart. fix/workaround when the usart is operating in slave synchro nous mode with an external clock, provide a signal on clk that has a frequency at least 9 times lower than clk_usart. - hmatrix 1. in the hmatrix pras and prbs regi sters mxpr fields are only two bits in the hmatrix pras and prbs registers mxpr fields are only two bits wide, instead of four bits. the unused bits are undefined when reading the registers. fix/workaround mask undefined bits when reading pras and prbs. - flashc 1. reading from on-chip flash may fail after a flash fuse write operation (flashc lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands). after a flash fuse write operation (flash c lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands), the following flash read access may return corrupted data. this erratum does not affect write operations to regular flash memory. fix/workaround the flash fuse write operation (flashc lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands) must be issued from internal ram. after the write operation, perform a dummy flash page write operation (flashc wp). content and location of this page is not important and filling the write buffer with a ll one (ffh) will leave the current flash content unchanged. it is then safe to read and fetch code from the flash.
86 32059k?03/2011 at32uc3b - dsp operations 1. instruction breakpoints affected on all mac instruction hardware breakpoints on mac instructions may corrupt the destination register of the mac instruction. fix/workaround place breakpoints on earlier or later instructions.
87 32059k?03/2011 at32uc3b 12.2.3 rev. f - pwm 1. pwm channel interrupt enabling triggers an interrupt when enabling a pwm channel that is configured with center aligned period (calg=1), an interrupt is signalled. fix/workaround when using center aligned mode, enable the channel and read the status before channel interrupt is enabled. 2. pwn counter restarts at 0x0001 the pwm counter restarts at 0x0001 and not 0x0000 as specified. because of this the first pwm period has one more clock cycle. fix/workaround - the first period is 0x0000, 0x0001, ..., period. - consecutive periods are 0x0001, 0x0002, ..., period. 3. pwm update period to a 0 value does not work it is impossible to update a period equal to 0 by the using the pwm update register (pwm_cupd). fix/workaround do not update the pwm_cupd register with a value equal to 0. - spi 1. spi slave / pdca tran sfer: no tx underrun flag there is no tx underrun flag available, ther efore in spi slave mode, there is no way to be informed of a character lost in transmission. fix/workaround for pdca transfer: none. 2. spi bad serial clock generation on 2nd chip_select when scbr = 1, cpol=1 and ncpha=0 when multiple cs are in use, if one of the baudrate equals to 1 and one of the others doesn't equal to 1, and cpol=1 and cpha=0, then an aditional pulse will be generated on sck. fix/workaround when multiple cs are in use, if one of the baudrate equals 1, the other must also equal 1 if cpol=1 and cpha=0. 3. spi glitch on rxready flag in slave mode when enabling the spi or during the first transfer in slave mode, the spi can generate a false rxready signal during enabling of the spi or during the first transfer. fix/workaround 1. set slave mode, set required cpol/cpha. 2. enable spi. 3. set the polarity cpol of the line in the opposite value of the required one. 4. set the polarity cpol to the required one. 5. read the rxholding register. transfers can now befin and rxr eady will now behave as expected.
88 32059k?03/2011 at32uc3b 4. spi disable does not work in slave mode spi disable does not work in slave mode. fix/workaround read the last received data, then perform a software reset. 5. spi data transfer hangs with csr0.csaat==1 and mr.modfdis==0 when csr0.csaat==1 and mode fault detection is enabled (mr.modfdis==0), the spi module will not start a data transfer. fix/workaround disable mode fault detection by writing a one to mr.modfdis. 6. disabling spi has no effect on flag tdre flag disabling spi has no effect on tdre whereas the write data command is filtered when spi is disabled. this means that as soon as the spi is disabled it becomes impossible to reset the tdre flag by writing in the tdr. so if the spi is disabled during a pdca transfer, the pdca will continue to write data in the tdr (as tdre stays hi gh) until its buffer is empty, and all data written after the disable command is lost. fix/workaround disable the pdca, insert 2 nops, disable spi. to continue the transfer: enable spi, enable pdca. - power manager 1. if the bod level is higher than vddcore, the part is constantly resetted if the bod level is set to a value higher than vddcore and ena bled by fuses, the part will be in constant reset. fix/workaround apply an external voltage on vddcore that is higher than the bod le vel and is lower than vddcore max and disable the bod. 3. when the main clock is rcsys, ti mer_clock5 is eq ual to pba clock when the main clock is gen erated from rcsys, timer_cl ock5 is equal to pba clock and not pba clock / 128. fix/workaround none. 2. clock sources will not be stopped in static sleep mode if the difference between cpu and pbx division factor is too high if the division factor between the cpu/hsb and pbx frequencies is more than 4 when going to a sleep mode where the system rc oscillator is turned off, then high speed clock sources will not be turned off. this will result in a significantly higher power consumption during the sleep mode. fix/workaround before going to sleep modes w here the system rc oscillator is stopped, make sure that the factor between the cpu/hsb and pbx frequencies is less than or equal to 4. 3. increased power consunption in vddio in sleep modes if the osc0 is enabled in crystal mode when entering a sleep mode where the osc0 is dis- abled, this will lead to an increased power consumption in vddio. fix/workaround disable the osc0 through the system control interface (scif) before going to any sleep mode where the osc0 is disabled, or pull down or up xin0 and xout0 with 1 mohm resistor.
89 32059k?03/2011 at32uc3b - ssc 1. additional delay on td output a delay from 2 to 3 system clock cycles is added to td output when: tcmr.start = receive start, tcmr.sttdly = more than zero, rcmr.start = start on falling edge / start on rising edge / start on any edge, rfmr.fsos = none (input). fix/workaround none. 2. tf output is not correct tf output is not correct (at least emitted one serial clock cycle later than expected) when: tfmr.fsos = driven low during data transfer/ driven high during data transfer tcmr.start = receive start rfmr.fsos = none (input) rcmr.start = any on rf (edge/level) fix/workaround none. 3. frame synchro and frame synchro data are delayed by one clock cycle the frame synchro and the frame synchro data are delayed from 1 ssc_clock when: - clock is ckdiv - the start is selected on either a frame synchro edge or a level - frame synchro data is enabled - transmit clock is gated on output (through cko field) fix/workaround transmit or receive clock must not be gated (by the mean of cko field) when start condition is performed on a generated frame synchro. - usb 1. upcfgn.intfrq is irrelevant for isochronous pipe as a consequence, isochronous in and out tokens are sent every 1 ms (full speed), or every 125 us (high speed). fix/workaround forhigher polling time, the softwa re must freeze the pipe for the desired period in order to prevent any "extra" token. - adc 1. sleep mode activation needs addtionnal a to d conversion if the adc sleep mode is activated when the ad c is idle the adc w ill not enter sleep mode before after the next ad conversion. fix/workaround activate the sleep mode in the mode register and then perform an ad conversion. - pdca 1. wrong pdca behavior when using tw o pdca channels with the same pid wrong pdca behavior when using two pdca channels with the same pid. fix/workaround the same pid should not be assigned to more than one channel.
90 32059k?03/2011 at32uc3b 2. transfer error will stall a transmit peripheral handshake interface if a tranfer error is encountered on a channel transmitting to a peripheral, the peripheral handshake of the acti ve channel will stall and the pdca will not do any more transfers on the affected peripheral handshake interface. fix/workaround disable and then enable the peripheral after the transfer error. - twi 1. the twi rxrdy flag in sr register is not reset when a software reset is performed the twi rxrdy flag in sr register is not reset when a software reset is performed. fix/workaround after a software reset, the regi ster twi rhr must be read. 2. twi in master mode will continue to read data twi in master mode will continue to read data on the line even if the shift register and the rhr register are full. this w ill generate an overrun error. fix/workaround to prevent this, read the rhr register as soon as a new rx data is ready. 3. twi slave behaves improperly if master acknowledges the last transmitted data byte before a stop condition in i2c slave transmitter mode, if the master acknowledges the last data byte before a stop condition (what the master is not supposed to do), the following twi slave receiver mode frame may contain an inappropriate clock stretch. this clock stretch can only be stopped by resetting the twi. fix/workaround if the twi is used as a slave transmitter with a master that acknowledges the last data byte before a stop condition, it is necessary to reset the twi beforeentering slave receiver mode. - gpio 1. pa29 (twi sda) and pa30 (twi scl) gpio vih (input high voltage) is 3.6v max instead of 5v tolerant the following gpios are not 5v tolerant : pa29 and pa30. fix/workaround none. 2. some gpio vih (input high voltage) are 3.6v max instead of 5v tolerant only 11 gpios remain 5v tolerant (vihma x=5v):pb01, pb02, pb03, pb10, pb19, pb20, pb21, pb22, pb23, pb27, pb28. fix/workaround none. - tc 1. channel chaining skips first pulse for upper channel when chaining two channels using the block mode register, the first pulse of the clock between the channels is skipped. fix/workaround configure the lower channel with ra = 0x1 and rc = 0x2 to produce a dummy clock cycle for the upper channel. after the dummy cycle has been generated, indicated by the
91 32059k?03/2011 at32uc3b sr.cpcs bit, reconfigure the ra and rc registers for the lower channel with the real values. - ocd 1. the auxiliary trace does not work for cpu/hsb speed higher than 50mhz the auxiliary trace does not work for cpu/hsb speed higher than 50mhz. fix/workaround do not use the auxiliary trace for cpu/hsb speed higher than 50mhz. - processor and architecture 1. ldm instruction with pc in the register list and without ++ increments rp for ldm with pc in the register list: the instruction behaves as if the ++ field is always set, ie the pointer is alwa ys updated. this happens even if the ++ field is cleared. specifically, the increment of the pointer is done in parallel with the testing of r12. fix/workaround none. 2. rete instruction does not clear sreg[l] from interrupts the rete instruction clears sreg[l] as expected from exceptions. fix/workaround when using the stcond instruct ion, clear sreg[l] in the stacked value of sr before returning from interrupts with rete. 3. exceptions when system stack is protected by mpu rets behaves incorrectly when mpu is en abled and mpu is configured so thatsystem stack is not readable in unprivileged mode. fix/workaround workaround 1: make system stack readable in unprivileged mode, or workaround 2: return from supervisor mode using rete instead of rets. this requires: 1. changing the mode bits from 001b to 110b before issuing the instruction. updating the mode bits to the desired value must be done using a single mtsr instruction so it is done atomically. even if this step is described in general as not safe in the uc technical reference guide, it is safe in th is very specific case. 2. execute the rete instruction. 4. privilege violation when using interrupts in application mode with protected system stack if the system stack is protected by the mpu and an interrupt occurs in application mode, an mpu dtlb exception will occur. fix/workaround make a dtlb protection (write) exception handler which permits the interrupt request to be handled in privileged mode. - usart 1. iso7816 info register us_ner cannot be read the ner register always returns zero. fix/workaround none.
92 32059k?03/2011 at32uc3b 2. iso7816 mode t1: rx impossible after any tx rx impossible after any tx. fix/workaround soft_reset on rx+ config us_mr + config_us_cr. 3. the rts output does not function correctly in hardware handshaking mode the rts signal is not generated properly when the usart receives data in hardware hand- shaking mode. when the peripheral dma receive buffer becomes full, the rts output should go high, bu t it will stay low. fix/workaround do not use the hardware handshaking mode of the usart. if it is necessary to drive the rts output high when the peripheral dma receive buffer becomes full, use the normal mode of the usart. configure the peripheral dma controller to signal an interrupt when the receive buffer is full. in the interrupt handler code, write a one to the rtsdis bit in the usart control register (cr). this will drive th e rts output high. afte r the next dma trans- fer is started and a receive buffer is available, write a one to the rtsen bit in the usart cr so that rts will be driven low. 4. corruption after receiving too many bits in spi slave mode if the usart is in spi slave mode and receives too much data bits (ex: 9bitsinstead of 8 bits) by the the spi master, an error occurs . after that, the next reception may be corrupted even if the frame is correct and the usart has been disabled, reseted by a soft reset and re-enabled. fix/workaround none. 5. usart slave synchronous mode external clock must be at least 9 times lower in fre- quency than clk_usart when the usart is operating in slave synchronous mode with an external clock, the fre- quency of the signal provided on clk must be at least 9 times lower than clk_usart. fix/workaround when the usart is operating in slave synchro nous mode with an external clock, provide a signal on clk that has a frequency at least 9 times lower than clk_usart. - hmatrix 1. in the hmatrix pras and prbs regi sters mxpr fields are only two bits in the hmatrix pras and prbs registers mxpr fields are only two bits wide, instead of four bits. the unused bits are undefined when reading the registers. fix/workaround mask undefined bits when reading pras and prbs. - flashc 1. reading from on-chip flash may fail after a flash fuse write operation (flashc lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands). after a flash fuse write operation (flash c lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands), the following flash read access may return corrupted data. this erratum does not affect write operations to regular flash memory. fix/workaround the flash fuse write operation (flashc lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands) must be issued from internal ram. after the write operation, perform a dummy flash page write operation (flashc wp). content and location of this page is not important
93 32059k?03/2011 at32uc3b and filling the write buffer with a ll one (ffh) will leave the current flash content unchanged. it is then safe to read and fetch code from the flash. - dsp operations 1. instruction breakpoints affected on all mac instruction hardware breakpoints on mac instructions may corrupt the destination register of the mac instruction. fix/workaround place breakpoints on earlier or later instructions.
94 32059k?03/2011 at32uc3b 12.2.4 rev. b - pwm 1. pwm channel interrupt enabling triggers an interrupt when enabling a pwm channel that is configured with center aligned period (calg=1), an interrupt is signalled. fix/workaround when using center aligned mode, enable the channel and read the status before channel interrupt is enabled. 2. pwn counter restarts at 0x0001 the pwm counter restarts at 0x0001 and not 0x0000 as specified. because of this the first pwm period has one more clock cycle. fix/workaround - the first period is 0x0000, 0x0001, ..., period. - consecutive periods are 0x0001, 0x0002, ..., period. 3. pwm update period to a 0 value does not work it is impossible to update a period equal to 0 by the using the pwm update register (pwm_cupd). fix/workaround do not update the pwm_cupd register with a value equal to 0. 4. pwm channel status may be wrong if disabled before a period has elapsed before a pwm period has elapsed, the read channel status may be wrong. the chidx-bit for a pwm channel in the pwm enable register will read '1' fo r one full pwm period even if the channel was disabled before the period elapsed. it will then read '0' as expected. fix/workaround reading the pwm channel status of a disabled channel is only correct after a pwm period has elapsed. 5. the following alternate c functions pwm[4] on pa16 and pwm[6] on pa31 are not available on rev b the following alternate c functions pwm[4] on pa16 and pwm[6] on pa31 are not available on rev b. fix/workaround do not use these pwm alternate functions on these pins. - spi 1. spi slave / pdca tran sfer: no tx underrun flag there is no tx underrun flag available, ther efore in spi slave mode, there is no way to be informed of a character lost in transmission. fix/workaround for pdca transfer: none. 2. spi bad serial clock generation on 2nd chip_select when scbr = 1, cpol=1 and ncpha=0 when multiple cs are in use, if one of the baudrate equals to 1 and one of the others doesn't equal to 1, and cpol=1 and cpha=0, then an aditional pulse will be generated on sck. fix/workaround when multiple cs are in use, if one of the baudrate equals 1, the other must also equal 1 if cpol=1 and cpha=0.
95 32059k?03/2011 at32uc3b 3. spi glitch on rxready flag in slave mode when enabling the spi or during the first transfer in slave mode, the spi can generate a false rxready signal during enabling of the spi or during the first transfer. fix/workaround 1. set slave mode, set required cpol/cpha. 2. enable spi. 3. set the polarity cpol of the line in the opposite value of the required one. 4. set the polarity cpol to the required one. 5. read the rxholding register. transfers can now befin and rxr eady will now behave as expected. 4. spi csnaat bit 2 in register csr0...csr3 is not available spi csnaat bit 2 in register csr0...csr3 is not available. fix/workaround do not use this bit. 5. spi disable does not work in slave mode spi disable does not work in slave mode. fix/workaround read the last received data, then perform a software reset. - power manager 1. pll lock control does not work pll lock control does not work. fix/workaround in pll control register, the bit 7 should be set in order to prevent unexpected behaviour. 2. wrong reset causes when bod is activated setting the bod enable fuse will cause the rese t cause register to list bod reset as the reset source even though the part was reset by another source. fix/workaround do not set the bod enable fuse, but activate the bod as soon as your program starts. 3. system timer mask (bit 16) of the pm cpumask register is not available system timer mask (bit 16) of the pm cpumask register is not available. fix/workaround do not use this bit. - ssc 1. ssc does not trigger rf when data is low the ssc cannot transmit or receive data wh en cks = ckdiv and cko = none, in tcmr or rcmr respectively. fix/workaround set cko to a value that is not "none" and bypa ss the output of the tk/rk pin with the gpio.
96 32059k?03/2011 at32uc3b - usb 1. usb no end of host reset signaled upon disconnection in host mode, in case of an unexpected devic e disconnection whereas a usb reset is being sent by the usb controller, the uhcon.reset bi t may not been clear ed by the hardware at the end of the reset. fix/workaround a software workaround consists in testing (by polling or interrupt ) the disconnection (uhint.ddisci == 1) while waiting for the end of reset (uhcon.reset == 0) to avoid being stuck. 2. usbfsm and uhaddr1/2/3 re gisters are no t available do not use usbfsm register. fix/workaround do not use usbfsm register and use hcon[6:0] field instead for all the pipes. - cycle counter 1. cpu cycle counter does not reset the count system register on compare match. the device revision b does not reset the co unt system register on compare match. in this revision, the count register is clocke d by the cpu clock, so when the cpu clock stops, so does incrementing of count . fix/workaround none. - adc 1. adc possible miss on drdy when disabling a channel the adc does not work properly when more than one channel is enabled. fix/workaround do not use the adc with more than one channel enabled at a time. 2. adc ovre flag sometimes not reset on status register read the ovre flag does not clear properly if read simultaneously to an end of conversion. fix/workaround none. 3. sleep mode activation needs addtionnal a to d conversion if the adc sleep mode is activated when the ad c is idle the adc w ill not enter sleep mode before after the next ad conversion. fix/workaround activate the sleep mode in the mode register and then perform an ad conversion. - usart 1. usart manchester encoder not working manchester encoding/decoding is not working. fix/workaround do not use manchester encoding.
97 32059k?03/2011 at32uc3b 2. usart rxbreak problem when no timeguard in asynchronous mode the rxbreak flag is not correctly handled when the timeguard is 0 and the break character is located just after the stop bit. fix/workaround if the nbstop is 1, timeguard should be different from 0. 3. usart handshaking: 2 characters sent / cts rises when tx if cts switches from 0 to 1 during the tx of a character, if the holding register is not empty, the txholding is also transmitted. fix/workaround none. 4. usart pdc and timeguard not supported in manchester manchester encoding/decoding is not working. fix/workaround do not use manchester encoding. 5. usart spi mode is non functional on this revision usart spi mode is non functional on this revision. fix/workaround do not use the usart spi mode. - hmatrix 1. hmatrix fixed priority arbitration does not work fixed priority arbitration does not work. fix/workaround use round-robin arbitration instead. - clock caracteristic 1. pba max frequency the peripheral bus a (pba) max frequency is 30mhz instead of 60mhz. fix/workaround do not set the pba maximum fr equency higher than 30mhz. - flashc 1. the address of flash general purpose fuse register low (fgpfrlo) is 0xfffe140c on revb instead of 0xfffe1410 the address of flash general purpose fuse register low (fgp frlo) is 0xfffe140c on revb instead of 0xfffe1410. fix/workaround none. 2. the command quick page read user page(qprup) is not functional the command quick page read user page(qprup) is not functional. fix/workaround none.
98 32059k?03/2011 at32uc3b 3. pagen semantic field for program gp fuse byte is writedata[7:0], byteaddress[1:0] on revision b instead of writedata[7:0], byteaddress[2:0] pagen semantic field for program gp fuse byte is writedata[7:0], byteaddress[1:0] on revision b instead of writedata[7:0], byteaddress[2:0]. fix/workaround none. 4. reading from on-chip flash may fail after a flash fuse write operation (flashc lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands). after a flash fuse write operation (flash c lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands), the following flash read access may return corrupted data. this erratum does not affect write operations to regular flash memory. fix/workaround the flash fuse write operation (flashc lp, up, wgpb, egpb, ssb, pgpfb, eagpf commands) must be issued from internal ram. after the write operation, perform a dummy flash page write operation (flashc wp). content and location of this page is not important and filling the write buffer with a ll one (ffh) will leave the current flash content unchanged. it is then safe to read and fetch code from the flash. - rtc 1. writes to control (ctrl), top (top) and value (val) in the rtc are discarded if the rtc peripheral bus clock (pba) is divided by a factor of four or more relative to the hsb clock writes to control (ctrl), top (top) and value (val) in the rtc are discarded if the rtc peripheral bus clock (pba) is di vided by a factor of four or more relative to the hsb clock. fix/workaround do not write to the rtc regist ers using the peripheral bus cloc k (pba) divided by a factor of four or more relative to the hsb clock. 2. the rtc clken bit (bit number 16) of ctrl register is not available the rtc clken bit (bit number 16) of ctrl register is not available. fix/workaround do not use the clken bit of the rtc on rev b. - ocd 1. stalled memory access instruction writeback fails if followed by a hw breakpoint consider the following assembly code sequence: a b if a hardware breakpoint is placed on instruction b, and instruction a is a memory access instruction, register file updates from instruction a can be discarded. fix/workaround do not place hardware breakpoints, use software breakpoints instead. alternatively, place a hardware breakpoint on the instruction before the memory access instruction and then sin- gle step over the memory access instruction.
99 32059k?03/2011 at32uc3b - processor and architecture 1. local busto fast gpio not available on silicon rev b local bus is only available for silicon reve and later. fix/workaround do not use if silicon revison older than f. 2. memory protection unit (mpu) is non functional memory protection unit (mpu) is non functional. fix/workaround do not use the mpu. 3. bus error should be masked in debug mode if a bus error occurs during debug mode, the processor will not respond to debug com- mands through the dinst register. fix/workaround a reset of the device will make the cp u respond to debug commands again. 4. read modify write (rmw) instructions on data outside the internal ram does not work read modify write (rmw) instructions on da ta outside the internal ram does not work. fix/workaround do not perform rmw instructions on data outside the internal ram. 5. need two nops instruction after instructions masking interrupts the instructions following in the pipeline the instruction masking the interrupt through sr may behave abnormally. fix/workaround place two nops instructions after each ssrf or mtsr instruction setting ixm or gm in sr 6. clock connection table on rev b here is the table of rev b figure 12-1. timer/counter clock connections on revb 7. spurious interrupt may corrupt core sr mode to exception if the rules listed in the chapter `masking inte rrupt requests in peripheral modules' of the avr32uc technical reference manual are not followed, a spurious interrupt may occur. an source name connection internal timer_clock1 32khz oscillator timer_clock2 pba clock / 4 timer_clock3 pba clock / 8 timer_clock4 pba clock / 16 timer_clock5 pba clock / 32 external xc0 xc1 xc2
100 32059k?03/2011 at32uc3b interrupt context will be pushed onto the stac k while the core sr mode will indicate an exception. a rete instruction would then corrupt the stack. fix/workaround follow the rules of the avr32uc technical reference manual. to increase software robustness, if an exception mode is detec ted at the beginning of an interrupt handler, change the stack interrupt context to an e xception context and issue a rete instruction. 8. cpu cannot operate on a divided slow clock (internal rc oscillator) cpu cannot operate on a divided slow clock (internal rc oscillator). fix/workaround do not run the cpu on a divided slow clock. 9. ldm instruction with pc in the register list and without ++ increments rp for ldm with pc in the register list: the instruction behaves as if the ++ field is always set, ie the pointer is alwa ys updated. this happens even if the ++ field is cleared. specifically, the increment of the pointer is done in parallel with the testing of r12. fix/workaround none. 10. rete instruction does not clear sreg[l] from interrupts the rete instruction clears sreg[l] as expected from exceptions. fix/workaround when using the stcond instruct ion, clear sreg[l] in the stacked value of sr before returning from interrupts with rete. 11. exceptions when system stack is protected by mpu rets behaves incorrectly when mpu is en abled and mpu is configured so thatsystem stack is not readable in unprivileged mode. fix/workaround workaround 1: make system stack readable in unprivileged mode, or workaround 2: return from supervisor mode using rete instead of rets. this requires: 1. changing the mode bits from 001b to 110b before issuing the instruction. updating the mode bits to the desired value must be done using a single mtsr instruction so it is done atomically. even if th is step is described in general as not safe in the uc technical reference guide, it is safe in this very specific case. 2. execute the rete instruction.
101 32059k?03/2011 at32uc3b 13. datasheet revision history please note that the referring page numbers in th is section are referred to this document. the referring revision in this section are referring to the document revision. 13.1 rev. k? 02/2011 13.2 rev. j? 12/2010 13.3 rev. i ? 06/2010 13.4 rev. h ? 10/2009 13.5 rev. g ? 06/2009 1. updated usb section. 2. updated configuration summary section. 3. updated electrical characteristics section. 4. updated errata section. 1. updated usb section. 2. updated usart section. 3. updated twi section. 4. updated pwm section. 5. updated electrical characteristics section. 1. updated spi section. 2 updated electrical characteristics section. 1. update datasheet architecture. 2 add at32uc3b0512 and at32uc3b1512 devices description. 1. open drain mode removed from gpio section. 2 updated errata section.
102 32059k?03/2011 at32uc3b 13.6 rev. f ? 04/2008 13.7 rev. e ? 12/2007 13.8 rev. d ? 11/2007 13.9 rev. c ? 10/2007 13.10 rev. b ? 07/2007 13.11 rev. a ? 05/2007 1. updated errata section. 1. updated memory protection section. 1. updated processor architecture section. 2. updated electrical characteristics section. 1. updated features sections. 2. updated block diagram with local bus figure 3. add schematic for hmatrix master/slave connection. 4. updated features sections with local bus. 5. added spi feature to usart section. 6. updated usbb section. 7. updated adc trigger selection in adc section. 8. updated jtag and boundary scan section with programming procedure. 9. add description for silicon revision d 1. updated registered trademarks 2. updated address page. 1. initial revision.
103 32059k?03/2011 at32uc3b table of contents 1 description ............ .............. .............. ............... .............. .............. ............ 3 2 overview ............ ................ ................ ............... .............. .............. ............ 4 2.1 blockdiagram .....................................................................................................4 3 configuration summary ........ .............. .............. .............. .............. .......... 5 4 package and pinout ................. ................ ................. ................ ............... 6 4.1 package .............................................................................................................6 4.2 peripheral multiplexing on i/o lines ...................................................................7 4.3 high drive current gpio .................................................................................10 5 signals description ............ .............. ............... .............. .............. .......... 10 5.1 jtag pins ........................................................................................................13 5.2 reset_n pin ..................................................................................................14 5.3 twi pins ..........................................................................................................14 5.4 gpio pins ........................................................................................................14 5.5 high drive pins .................................................................................................14 5.6 power considerations .....................................................................................14 6 processor and architecture .... ................ ................. ................ ............. 17 6.1 features ..........................................................................................................17 6.2 avr32 architecture .........................................................................................17 6.3 the avr32uc cpu ........................................................................................18 6.4 programming model ........................................................................................22 6.5 exceptions and interrupts ................................................................................26 6.6 module configuration ......................................................................................30 7 memories ............... .............. .............. ............... .............. .............. .......... 31 7.1 embedded memories ......................................................................................31 7.2 physical memory map .....................................................................................31 7.3 peripheral address map ..................................................................................32 7.4 cpu local bus mapping .................................................................................33 8 boot sequence ............. ................. ................ ................. .............. .......... 34 8.1 starting of clocks .............................................................................................34 8.2 fetching of initial instructions ..........................................................................34 9 electrical characteristics ... .............. ............... .............. .............. .......... 35 9.1 absolute maximum ratings* ...........................................................................35
104 32059k?03/2011 at32uc3b 9.2 dc characteristics ...........................................................................................36 9.3 regulator characteristics ................................................................................38 9.4 analog characteristics .....................................................................................38 9.5 power consumption ........................................................................................42 9.6 system clock characteristics ..........................................................................45 9.7 oscillator characteristics .................................................................................46 9.8 adc characteristics ........................................................................................48 9.9 usb transceiver characteristics .....................................................................50 9.10 jtag characteristics .......................................................................................51 9.11 spi characteristics ..........................................................................................52 9.12 flash memory characteristics .........................................................................54 10 mechanical characteristics ..... ................ ................. ................ ............. 55 10.1 thermal considerations ..................................................................................55 10.2 package drawings ...........................................................................................56 10.3 soldering profile ..............................................................................................60 11 ordering information .......... .............. ............... .............. .............. .......... 61 12 errata ............. ................ ................. ................ ................. .............. .......... 62 12.1 at32uc3b0512, at32uc3b1512 ..................................................................62 12.2 at32uc3b0256, at32uc3b0128, at32uc3b064, at32uc3b1256, AT32UC3B1128, at32uc3b164 74 13 datasheet revision history .. ................ ................. ................ ............. 101 13.1 rev. k? 02/2011 ............................................................................................101 13.2 rev. j? 12/2010 ............................................................................................101 13.3 rev. i ? 06/2010 ............................................................................................101 13.4 rev. h ? 10/2009 ...........................................................................................101 13.5 rev. g ? 06/2009 ..........................................................................................101 13.6 rev. f ? 04/2008 ...........................................................................................102 13.7 rev. e ? 12/2007 ...........................................................................................102 13.8 rev. d ? 11/2007 ...........................................................................................102 13.9 rev. c ? 10/2007 ...........................................................................................102 13.10 rev. b ? 07/2007 ...........................................................................................102 13.11 rev. a ? 05/2007 ...........................................................................................102
32059k?03/2011 headquarters international atmel corporation 2325 orchard parkway san jose, ca 95131 usa tel: 1(408) 441-0311 fax: 1(408) 487-2600 atmel asia unit 1-5 & 16, 19/f bea tower, millennium city 5 418 kwun tong road kwun tong, kowloon hong kong tel: (852) 2245-6100 fax: (852) 2722-1369 atmel europe le krebs 8, rue jean-pierre timbaud bp 309 78054 saint-quentin-en- yvelines cedex france tel: (33) 1-30-60-70-00 fax: (33) 1-30-60-71-11 atmel japan 9f, tonetsu shinkawa bldg. 1-24-8 shinkawa chuo-ku, tokyo 104-0033 japan tel: (81) 3-3523-3551 fax: (81) 3-3523-7581 product contact web site www.atmel.com technical support avr32@atmel.com sales contact www.atmel.com/contacts literature requests www.atmel.com/literature 98981 disclaimer: the information in this document is provided in connection with atmel products. no license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of atmel products. except as set forth in atmel?s terms and condi- tions of sale located on atmel?s web site, atmel assumes no li ability whatsoever and disclaims any express, implied or statutor y warranty relating to its products including, but not limited to, the implied warranty of merchantability, fitness for a particu lar purpose, or non-infringement. in no event shall atmel be liable for any direct, indirect, consequential, punitive, special or i nciden- tal damages (including, without limitation, damages for loss of profits, business interruption, or loss of information) arising out of the use or inability to use this document, even if atme l has been advised of the possibility of such damages. atmel makes no representations or warranties with respect to the accuracy or comp leteness of the contents of this document and reserves the rig ht to make changes to specifications and product descriptions at any time without notice. atmel does not make any commitment to update the information contained her ein. unless specifically provided otherwise, atmel products are not suitable for, and shall not be used in, automotive applications. atmel?s products are not int ended, authorized, or warranted for use as components in applications in tended to support or sustain life. ? 2011 atmel corporation. all rights reserved. atmel ? , atmel logo and combinations thereof, avr ? , avr ? logo and others are registered trade- marks or trademarks of atmel corporation or its subsidiari es. other terms and product names may be trademarks of others.


▲Up To Search▲   

 
Price & Availability of AT32UC3B1128

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X